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

Version Path
bond-0.5.1 lib/bond/completions/object.rb
bond-0.5.1-java lib/bond/completions/object.rb
bond-0.5.0 lib/bond/completions/object.rb
bond-0.5.0-java lib/bond/completions/object.rb
bond-0.4.3 lib/bond/completions/object.rb
bond-0.4.3-java lib/bond/completions/object.rb
bond-0.4.2 lib/bond/completions/object.rb
bond-0.4.2-java lib/bond/completions/object.rb
bond-0.4.1 lib/bond/completions/object.rb
bond-0.4.0 lib/bond/completions/object.rb
bond-0.3.5 lib/bond/completions/object.rb
bond-0.3.4 lib/bond/completions/object.rb
bond-0.3.3 lib/bond/completions/object.rb
bond-0.3.2 lib/bond/completions/object.rb
bond-0.3.1 lib/bond/completions/object.rb
bond-0.3.0 lib/bond/completions/object.rb
bond-0.2.2 lib/bond/completions/object.rb
bond-0.2.1 lib/bond/completions/object.rb
bond-0.2.0 lib/bond/completions/object.rb