Class: Recess::Inside::Base
- Inherits:
-
Object
- Object
- Recess::Inside::Base
- Defined in:
- lib/recess/inside.rb
Direct Known Subclasses
Class Method Summary collapse
- .alias_parent_instance(super_meth, meth) ⇒ Object
- .all_parent_instance_methods ⇒ Object
- .parent_aliased_instance_methods ⇒ Object
- .parent_instance(meth) ⇒ Object
- .parent_instance_methods ⇒ Object
Instance Method Summary collapse
-
#initialize(instance, data_method = nil) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(instance, data_method = nil) ⇒ Base
Returns a new instance of Base.
103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/recess/inside.rb', line 103 def initialize(instance, data_method = nil) @instance = instance if data_method if data_method.is_a? Array @data_args = data_method else @data_args = [data_method] end else @data_args = nil end end |
Class Method Details
.alias_parent_instance(super_meth, meth) ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/recess/inside.rb', line 90 def self.alias_parent_instance super_meth, meth parent_instance_methods << meth.to_s the_alias = "#{meth}_before_recess" parent_aliased_instance_methods[meth.to_s] = the_alias define_method super_meth do |*args| if parent_data.respond_to?(the_alias) parent_data.send(the_alias, *args) else parent_data.send(meth, *args) end end end |
.all_parent_instance_methods ⇒ Object
71 72 73 |
# File 'lib/recess/inside.rb', line 71 def self.all_parent_instance_methods (parent_instance_methods + parent_aliased_instance_methods.keys).collect(&:to_s).uniq end |
.parent_aliased_instance_methods ⇒ Object
79 80 81 |
# File 'lib/recess/inside.rb', line 79 def self.parent_aliased_instance_methods @parent_aliased_instance_methods ||= {} end |
.parent_instance(meth) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/recess/inside.rb', line 83 def self.parent_instance meth parent_instance_methods << meth.to_s define_method meth do |*args| parent_data.send(meth, *args) end end |
.parent_instance_methods ⇒ Object
75 76 77 |
# File 'lib/recess/inside.rb', line 75 def self.parent_instance_methods @parent_instance_methods ||= [] end |