Class: Ea::Sources::Qea::OperationBuilder
- Inherits:
-
Object
- Object
- Ea::Sources::Qea::OperationBuilder
- Defined in:
- lib/ea/sources/qea/operation_builder.rb
Overview
Translates EA t_operation + t_operationparams rows into Ea::Model::Operation instances with owned Parameters.
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
- #build_all_for(owner_object) ⇒ Object
- #build_one(row, owner_object) ⇒ Object
-
#initialize(database) ⇒ OperationBuilder
constructor
A new instance of OperationBuilder.
Constructor Details
#initialize(database) ⇒ OperationBuilder
Returns a new instance of OperationBuilder.
11 12 13 |
# File 'lib/ea/sources/qea/operation_builder.rb', line 11 def initialize(database) @database = database end |
Instance Attribute Details
#database ⇒ Object (readonly)
Returns the value of attribute database.
9 10 11 |
# File 'lib/ea/sources/qea/operation_builder.rb', line 9 def database @database end |
Instance Method Details
#build_all_for(owner_object) ⇒ Object
15 16 17 18 |
# File 'lib/ea/sources/qea/operation_builder.rb', line 15 def build_all_for(owner_object) ops = database.operations_for_object(owner_object.ea_object_id) || [] ops.map { |row| build_one(row, owner_object) } end |
#build_one(row, owner_object) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ea/sources/qea/operation_builder.rb', line 20 def build_one(row, owner_object) Ea::Model::Operation.new( id: IdNormalizer.from_guid(row.ea_guid), name: row.name, owner_id: IdNormalizer.from_guid(owner_object.ea_guid), qualified_name: "#{owner_object.name}::#{row.name}", return_type_name: row.type, visibility: visibility_from_scope(row.scope), is_static: boolean(row.isstatic), is_abstract: boolean(row.abstract), parameters: build_parameters(row), annotations: AnnotationBuilder.from_note(row.notes, row.ea_guid, kind: "documentation") ) end |