Use this class as a start for new metamodel elements (i.e. Ruby classes) by inheriting for it.
See MetamodelBuilder for an example.
# File lib/rgen/metamodel_builder.rb, line 197 def self.method_added(m) raise "Do not add methods to model classes directly, add them to the ClassModule instead" end
# File lib/rgen/metamodel_builder.rb, line 187 def initialize(arg=nil) raise StandardError.new("Class #{self.class} is abstract") if self.class._abstract_class arg.each_pair { |k,v| setGeneric(k, v) } if arg.is_a?(Hash) end
Object#inspect causes problems on most models
# File lib/rgen/metamodel_builder.rb, line 193 def inspect self.class.name end