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
require 'osx/cocoa' はそんなに軽い処理じゃないので、常用はオススメしかねる。
| 固定リンク


最近のコメント