Class: AwDatapipe::Pipeline
- Inherits:
-
Object
- Object
- AwDatapipe::Pipeline
- Defined in:
- lib/aw_datapipe/pipeline.rb
Instance Attribute Summary collapse
-
#id ⇒ Object
AWS pipeline id.
-
#objects ⇒ Object
readonly
ObjectHash[:id => PipelineObject].
-
#parameter_metadata ⇒ Object
readonly
Hash[‘parameterName’ => Hash.
-
#parameter_values ⇒ Object
readonly
Hash[‘parameterName’ => “value”].
-
#uuid ⇒ Object
Unique id.
Class Method Summary collapse
Instance Method Summary collapse
- #configuration ⇒ Object
-
#initialize(objects, parameter_metadata, parameter_values) ⇒ Pipeline
constructor
objects [Array].
- #referenced_object_ids ⇒ Object
-
#referenced_objects ⇒ Array
Collect dependencies for all objects, removing duplicates.
- #write_source(pathname) ⇒ Object
Constructor Details
#initialize(objects, parameter_metadata, parameter_values) ⇒ Pipeline
objects [Array]
11 12 13 14 15 |
# File 'lib/aw_datapipe/pipeline.rb', line 11 def initialize(objects, , parameter_values) objects.each { |object| object.pipeline = self } @objects ||= ObjectHash.new(*objects) @parameter_metadata, @parameter_values = , parameter_values end |
Instance Attribute Details
#id ⇒ Object
AWS pipeline id
4 5 6 |
# File 'lib/aw_datapipe/pipeline.rb', line 4 def id @id end |
#objects ⇒ Object (readonly)
ObjectHash[:id => PipelineObject]
6 7 8 |
# File 'lib/aw_datapipe/pipeline.rb', line 6 def objects @objects end |
#parameter_metadata ⇒ Object (readonly)
Hash[‘parameterName’ => Hash
7 8 9 |
# File 'lib/aw_datapipe/pipeline.rb', line 7 def @parameter_metadata end |
#parameter_values ⇒ Object (readonly)
Hash[‘parameterName’ => “value”]
8 9 10 |
# File 'lib/aw_datapipe/pipeline.rb', line 8 def parameter_values @parameter_values end |
#uuid ⇒ Object
Unique id
5 6 7 |
# File 'lib/aw_datapipe/pipeline.rb', line 5 def uuid @uuid end |
Class Method Details
.build(config, activities, parameter_metadata, parameter_values) ⇒ Object
17 18 19 20 |
# File 'lib/aw_datapipe/pipeline.rb', line 17 def self.build(config, activities, , parameter_values) objects = [config, *activities].map { |obj| obj.dependencies.append(obj) }.flatten new(objects, , parameter_values) end |
Instance Method Details
#configuration ⇒ Object
22 23 24 |
# File 'lib/aw_datapipe/pipeline.rb', line 22 def configuration objects.fetch(:default) end |
#referenced_object_ids ⇒ Object
26 27 28 |
# File 'lib/aw_datapipe/pipeline.rb', line 26 def referenced_object_ids referenced_objects.map(&:id) << :default end |
#referenced_objects ⇒ Array
Collect dependencies for all objects, removing duplicates.
32 33 34 |
# File 'lib/aw_datapipe/pipeline.rb', line 32 def referenced_objects objects.values.map(&:dependencies).flatten.uniq end |
#write_source(pathname) ⇒ Object
36 37 38 |
# File 'lib/aw_datapipe/pipeline.rb', line 36 def write_source(pathname) SourceWriter.call(self, pathname) end |