Module: RGen::Util::ModelDumper

Included in:
XMLInstantiatorTest
Defined in:
lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb

Instance Method Summary collapse

Instance Method Details

#dump(obj = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb', line 7

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