Class: Ea::Sources::Qea::ClassifierBuilder
- Inherits:
-
Object
- Object
- Ea::Sources::Qea::ClassifierBuilder
- Defined in:
- lib/ea/sources/qea/classifier_builder.rb
Overview
Translates EA t_object rows (filtered to classifier types) into the appropriate Ea::Model::Classifier subclass. Uses ObjectClassifierMap for dispatch (OCP — new classifier kinds need no edit here).
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
- #build_all ⇒ Object
- #build_one(object) ⇒ Object
-
#initialize(database) ⇒ ClassifierBuilder
constructor
A new instance of ClassifierBuilder.
Constructor Details
#initialize(database) ⇒ ClassifierBuilder
Returns a new instance of ClassifierBuilder.
13 14 15 |
# File 'lib/ea/sources/qea/classifier_builder.rb', line 13 def initialize(database) @database = database end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
11 12 13 |
# File 'lib/ea/sources/qea/classifier_builder.rb', line 11 def database @database end |
Instance Method Details
#build_all ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/ea/sources/qea/classifier_builder.rb', line 17 def build_all classifiers = [] each_classifier_object do |object| classifiers << build_one(object) end classifiers end |
#build_one(object) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/ea/sources/qea/classifier_builder.rb', line 25 def build_one(object) klass = ObjectClassifierMap.class_for(object.object_type) args = common_args(object) args.merge!(enumeration_args(object)) if klass == Ea::Model::Enumeration klass.new(**args) end |