RubyCocoa のメソッドを irb で補完する
WIN32OLEのメソッドをirbで補完するを RubyCocoa に移植(ってまんまパクリ)してみた。
require 'osx/cocoa'
module OSX
class ObjcID
alias :_prev_osx_methods :methods
def methods(flag = true)
@osx_methods ||= objc_methods.map {|m| m.gsub(/([^_]):/, '\1_')}
@osx_methods | _prev_osx_methods(flag)
end
class <<self
alias :_prev_osx_methods :methods
def methods(flag = true)
@osx_methods ||= objc_methods.map {|m| m.gsub(/([^_]):/, '\1_')}
@osx_methods | _prev_osx_methods(flag)
end
end
end
end
動かすとこんな感じ。
% irb -r osx/cocoa
irb(main):001:0> OSX::NSURL.URL[TAB][TAB]
OSX::NSURL.URLFromPasteboard_
OSX::NSURL.URLWithString_
OSX::NSURL.URLWithString_relativeToURL_
irb(main):001:0> OSX::NSURL.URL