Module: DefinedMethods::Singleton
- Defined in:
- lib/defined_methods/singleton.rb
Constant Summary collapse
- NOT_INCLUDED_PRIVATE_METHODS =
%i[ inherited initialize attr_reader attr attr_accessor attr_writer remove_const extend_object append_features prepend_features undef_method method_added method_removed remove_method method_undefined alias_method public private initialize_copy initialize_clone protected included extended prepended define_method refine using module_function ]
Class Method Summary collapse
- .methods_defined_in(object) ⇒ Object
- .private_methods_defined_in(object) ⇒ Object
- .protected_methods_defined_in(object) ⇒ Object
Class Method Details
.methods_defined_in(object) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/defined_methods/singleton.rb', line 35 def methods_defined_in(object) { object_name: object.to_s, object: object.singleton_class, methods: object.methods(false) - object.protected_methods(false), private: false, protected: false, singleton: true } end |
.private_methods_defined_in(object) ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/defined_methods/singleton.rb', line 46 def private_methods_defined_in(object) { object_name: object.to_s, object: object.singleton_class, methods: object.private_methods(false) - NOT_INCLUDED_PRIVATE_METHODS - methods_from_extended_modules(object) - methods_from_ancestors(object), private: true, protected: false, singleton: true } end |
.protected_methods_defined_in(object) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/defined_methods/singleton.rb', line 57 def protected_methods_defined_in(object) { object_name: object.to_s, object: object.singleton_class, methods: object.protected_methods(false) - methods_from_extended_modules(object) - methods_from_ancestors(object), private: false, protected: true, singleton: true } end |