Class: Ea::Sources::Qea::RelationshipBuilder
- Inherits:
-
Object
- Object
- Ea::Sources::Qea::RelationshipBuilder
- Defined in:
- lib/ea/sources/qea/relationship_builder.rb
Overview
Translates EA t_connector rows into the appropriate
Ea::Model::Relationship subclass. Dispatches on
Connector_Type via ConnectorRelationshipMap.
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
- #build_all ⇒ Object
- #build_one(row) ⇒ Object
-
#initialize(database) ⇒ RelationshipBuilder
constructor
A new instance of RelationshipBuilder.
Constructor Details
#initialize(database) ⇒ RelationshipBuilder
Returns a new instance of RelationshipBuilder.
12 13 14 |
# File 'lib/ea/sources/qea/relationship_builder.rb', line 12 def initialize(database) @database = database end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
10 11 12 |
# File 'lib/ea/sources/qea/relationship_builder.rb', line 10 def database @database end |
Instance Method Details
#build_all ⇒ Object
16 17 18 19 |
# File 'lib/ea/sources/qea/relationship_builder.rb', line 16 def build_all connectors = database.collections[:connectors] || [] connectors.filter_map { |row| build_one(row) } end |
#build_one(row) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/ea/sources/qea/relationship_builder.rb', line 21 def build_one(row) klass = ConnectorRelationshipMap.class_for(row.connector_type) args = common_args(row) args.merge!(association_args(row)) if klass == Ea::Model::Association klass.new(**args) end |