Class: RGen::Util::PatternMatcher::Proxy

Inherits:
MetamodelBuilder::MMProxy show all
Defined in:
lib/rgen/util/pattern_matcher.rb

Instance Attribute Summary collapse

Attributes inherited from MetamodelBuilder::MMProxy

#data, #targetIdentifier

Instance Method Summary collapse

Methods inherited from MetamodelBuilder::MMGeneric

#_set_container

Constructor Details

#initialize(target) ⇒ Proxy

Returns a new instance of Proxy.



75
76
77
# File 'lib/rgen/util/pattern_matcher.rb', line 75

def initialize(target)
  @_target = target
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/rgen/util/pattern_matcher.rb', line 78

def method_missing(m, *args)
  result = @_target.send(m, *args)
  if result.is_a?(Array)
    result.collect do |e|
      if e.is_a?(RGen::MetamodelBuilder::MMBase)
        Proxy.new(e)
      else
        e
      end
    end
  else
    if result.is_a?(RGen::MetamodelBuilder::MMBase)
      Proxy.new(result)
    else
      result 
    end
  end
end

Instance Attribute Details

#_targetObject (readonly)

Returns the value of attribute _target.



74
75
76
# File 'lib/rgen/util/pattern_matcher.rb', line 74

def _target
  @_target
end