Module: Ea::Sources::Qea::ObjectClassifierMap
- Defined in:
- lib/ea/sources/qea/object_classifier_map.rb
Overview
Maps EA's t_object.Object_Type discriminator to the
concrete Ea::Model::Classifier subclass that should be
produced. New classifier kinds = one entry here, nothing
else changes (OCP).
Constant Summary collapse
- LOOKUP =
EA Object_Type → Model class. Unknown types default to Klass — the most generic classifier.
{ "Class" => "Ea::Model::Klass", "DataType" => "Ea::Model::DataType", "Enumeration" => "Ea::Model::Enumeration", "Interface" => "Ea::Model::Interface", "PrimitiveType" => "Ea::Model::PrimitiveType", "Primitive" => "Ea::Model::PrimitiveType" }.freeze
Class Method Summary collapse
Class Method Details
.class_for(object_type) ⇒ Object
24 25 26 27 |
# File 'lib/ea/sources/qea/object_classifier_map.rb', line 24 def class_for(object_type) name = LOOKUP[object_type] || "Ea::Model::Klass" Object.const_get(name) end |
.model_kind_for(object_type) ⇒ Object
29 30 31 32 |
# File 'lib/ea/sources/qea/object_classifier_map.rb', line 29 def model_kind_for(object_type) cls = class_for(object_type) cls.new.model_kind end |