Method: Adaptation::Message.get_class_object

Defined in:
lib/adaptation/message.rb

.get_class_object(mapped_xml) ⇒ Object

:nodoc:



173
174
175
176
177
178
179
180
181
182
# File 'lib/adaptation/message.rb', line 173

def self.get_class_object(mapped_xml) #:nodoc:
  # TODO: reimplement this as read in ruby-talk (using 'inherited' method)
  mapped_xml = mapped_xml.downcase.to_sym if mapped_xml.is_a?(String)
  klass = nil
  ObjectSpace.each_object(Class) do |c|
    next unless c.ancestors.include?(Adaptation::Message) and (c != self) and (c != Adaptation::Message)
    (klass = c and break) if c.mapped_xml == mapped_xml rescue next
  end
  klass
end