class Moblues::Reader::Entity

Attributes

attribute_reader[R]
relationship_reader[R]

Public Class Methods

new(params = defaults) click to toggle source
# File lib/moblues/reader/entity.rb, line 9
def initialize(params = defaults)
  @attribute_reader = params[:attribute_reader]
  @relationship_reader = params[:relationship_reader]
end

Public Instance Methods

entity(xml) click to toggle source
# File lib/moblues/reader/entity.rb, line 14
def entity(xml)
  attributes = xml.elements.to_a('attribute').map { |xml_attr| attribute_reader.attribute(xml_attr) }
  relationships = xml.elements.to_a('relationship').map { |xml_rel| relationship_reader.relationship(xml_rel) }
  DataModel::Entity.new(name: xml.attributes['name'],
                        parent_entity: xml.attributes['parentEntity'],
                        attributes: attributes,
                        relationships: relationships)
end

Private Instance Methods

defaults() click to toggle source
# File lib/moblues/reader/entity.rb, line 26
def defaults
  {
    attribute_reader: Attribute.new,
    relationship_reader: Relationship.new
  }
end