Class: PatternMatching::MatchExec::InstanceVariableAccessor
- Inherits:
-
Object
- Object
- PatternMatching::MatchExec::InstanceVariableAccessor
- Defined in:
- lib/patternmatching/pattern.rb
Overview
Private class to access instance valiables of the receiver
Instance Method Summary collapse
-
#initialize(receiver) ⇒ InstanceVariableAccessor
constructor
A new instance of InstanceVariableAccessor.
Constructor Details
#initialize(receiver) ⇒ InstanceVariableAccessor
Returns a new instance of InstanceVariableAccessor.
227 228 229 |
# File 'lib/patternmatching/pattern.rb', line 227 def initialize(receiver) @receiver = receiver end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object (private)
231 232 233 234 235 236 237 238 239 240 241 242 243 |
# File 'lib/patternmatching/pattern.rb', line 231 def method_missing(name, *args) begin @receiver.send(name, *args) rescue NameError if name.to_s[-1,1] == "=" field = "@" + name.to_s[0...-1] @receiver.instance_variable_set(field, args[0]) else field = "@" + name.to_s @receiver.instance_variable_get(field, args[0]) end end end |