Method: RGen::MetamodelBuilder::Intermediate::Reference#initialize

Defined in:
lib/rgen/metamodel_builder/intermediate/feature.rb

#initialize(type, props) ⇒ Reference

Returns a new instance of Reference.



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/rgen/metamodel_builder/intermediate/feature.rb', line 145

def initialize(type, props)
  @props = Defaults.merge(props)
  if type.respond_to?(:_metamodel_description) 
    @etype = nil
    @impl_type = type
  else
    raise ArgumentError.new("'#{type}' (#{type.class}) is not a MMBase in reference #{props[:name]}")
  end
  if @props[:derived]
    @props[:changeable] = false
    @props[:volatile] = true
    @props[:transient] = true
  end    
  check(Properties)
end