Class: EacRubyUtils::ActsAsInstanceMethod
- Defined in:
- lib/eac_ruby_utils/acts_as_instance_method.rb
Direct Known Subclasses
Instance Method Summary collapse
- #default_sender_module ⇒ Module
- #method_name ⇒ String
- #method_name_mark ⇒ Symbol
- #setup(sender_module = nil) ⇒ self
Instance Method Details
#default_sender_module ⇒ Module
42 43 44 |
# File 'lib/eac_ruby_utils/acts_as_instance_method.rb', line 42 def default_sender_module method_class.module_parent end |
#method_name ⇒ String
32 33 34 |
# File 'lib/eac_ruby_utils/acts_as_instance_method.rb', line 32 def method_name "#{method_class.name.demodulize.underscore.variableize}#{method_name_mark}" end |
#method_name_mark ⇒ Symbol
37 38 39 |
# File 'lib/eac_ruby_utils/acts_as_instance_method.rb', line 37 def method_name_mark [OPTION_NAME_MARK] || NAME_MARK_NONE end |
#setup(sender_module = nil) ⇒ self
21 22 23 24 25 26 27 28 29 |
# File 'lib/eac_ruby_utils/acts_as_instance_method.rb', line 21 def setup(sender_module = nil) sender_module ||= default_sender_module the_setup = self sender_module.define_method(method_name) do |*args, &block| the_setup.method_class.new(self, *args, &block).result end self end |