Sha256: ee7371c3302a8bba63e1d2bb6ef8f557af1248e280845b3ba30b7fcaff9a09af
Contents?: true
Size: 944 Bytes
Versions: 19
Compression:
Stored size: 944 Bytes
Contents
instance_meths = %w{instance_variable_get instance_variable_set remove_instance_variable instance_variable_defined?} complete(:methods=>instance_meths, :class=>"Object#") {|e| e.object.instance_variables } complete(:method=>"Object#instance_of?", :search=>:modules) { objects_of(Class) } complete(:methods=>%w{is_a? kind_a? extend}, :class=>"Object#", :search=>:modules) { objects_of(Module) } complete(:methods=>%w{Object#method Object#respond_to?}) {|e| e.object.methods } complete(:method=>"Object#[]") {|e| e.object.keys rescue [] } complete(:method=>"Object#send") {|e| if e.argument > 1 if (meth = eval(e.arguments[0])) && meth.to_s != 'send' && (action = MethodMission.find(e.object, meth.to_s)) e.argument -= 1 e.arguments.shift action[0].call(e) end else send_methods(e.object) end } def send_methods(obj) (obj.methods + obj.private_methods(false)).map {|e| e.to_s } - Mission::OPERATORS end
Version data entries
19 entries across 19 versions & 1 rubygems