1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
module RGen
module Util
module ModelDumper
def dump(obj=nil)
obj ||= self
if obj.is_a?(Array)
obj.collect {|o| dump(o)}.join("\n\n")
elsif obj.class.respond_to?(:ecore)
([obj.to_s] +
obj.class.ecore.eAllStructuralFeatures.select{|f| !f.many}.collect { |a|
" #{a} => #{obj.getGeneric(a.name)}"
} +
obj.class.ecore.eAllStructuralFeatures.select{|f| f.many}.collect { |a|
" #{a} => [ #{obj.getGeneric(a.name).join(', ')} ]"
}).join("\n")
else
obj.to_s
end
end
end
end
end
|