Sha256: abec122f19168ac99bd368cf0e4194da90ed6885dcdee564ccff4ba69f3a34d6

Contents?: true

Size: 596 Bytes

Versions: 10

Compression:

Stored size: 596 Bytes

Contents

require "awesome_print"

class Object

  def all_methods(include_ancestors = true, grep: nil)

    _introspection_methods = %i$
      methods
      singleton_methods
      instance_methods
      private_methods
      public_methods
      protected_methods
      private_instance_methods
      public_instance_methods
      protected_instance_methods
    $

    _introspection_methods.map! do |_m|
      _methods = safe_send _m, include_ancestors
      _methods = grep ? _methods&.grep(grep) : _methods
      { _m => _methods }
    end

    ap _introspection_methods.inject &:merge
    
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
eitil-0.3.10 config/initializers/monkeys/object.rb
eitil-0.3.9 config/initializers/monkeys/object.rb
eitil-0.3.8 config/initializers/monkeys/object.rb
eitil-0.3.7 config/initializers/monkeys/object.rb
eitil-0.3.6 config/initializers/monkeys/object.rb
eitil-0.3.5 config/initializers/monkeys/object.rb
eitil-0.3.4 config/initializers/monkeys/object.rb
eitil-0.3.3 config/initializers/monkeys/object.rb
eitil-0.3.2 config/initializers/monkeys/object.rb
eitil-0.3.1 config/initializers/monkeys/object.rb