class PipeFitter::Pipeline

Attributes

deploy_files[R]
parameter_objects[R]
parameter_values[R]
pipeline_description[R]
pipline_object[R]

Public Class Methods

create(definition_from_api, description_from_api) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 12
def self.create(definition_from_api, description_from_api)
  new(PipelineObjects.create(definition_from_api[:pipeline_objects]),
      ParameterObjects.create(definition_from_api[:parameter_objects]),
      ParameterValues.create(definition_from_api[:parameter_values]),
      PipelineDescription.create(description_from_api))
end
load_yaml(filename) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 19
def self.load_yaml(filename)
  filepath = Pathname.new(filename)
  yml = YamlLoader.new.load(filepath)
  new(PipelineObjects.new(yml["pipeline_objects"]),
      ParameterObjects.new(yml["parameter_objects"]),
      ParameterValues.new(yml["parameter_values"]),
      PipelineDescription.new(yml["pipeline_description"]),
      DeployFiles.new(yml["deploy_files"], filepath))
end
new(pipeline_objects = nil, parameter_objects = nil, parameter_values = nil, pipeline_description = nil, deploy_files = nil) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 29
def initialize(pipeline_objects = nil, parameter_objects = nil,
               parameter_values = nil, pipeline_description = nil, deploy_files = nil)
  @pipeline_objects = pipeline_objects
  @parameter_objects = parameter_objects
  @parameter_values = parameter_values
  @pipeline_description = pipeline_description
  @deploy_files = deploy_files
end

Public Instance Methods

activate_opts(pipeline_id, start_timestamp) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 72
def activate_opts(pipeline_id, start_timestamp)
  opts = {
    pipeline_id: pipeline_id,
    start_timestamp: start_timestamp,
  }
  opts[:parameter_values] =  @parameter_values.to_api_opts if @parameter_values
  opts
end
add_tags_opts(pipeline_id) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 64
def add_tags_opts(pipeline_id)
  { pipeline_id: pipeline_id, tags: @pipeline_description.tags_opts }
end
create_opts() click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 51
def create_opts
  @pipeline_description.to_api_opts
end
diff(other, format = nil) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 81
def diff(other, format = nil)
  Diffy::Diff.new(self.to_yaml, other.to_yaml).to_s(format)
end
put_definition_opts(pipeline_id) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 55
def put_definition_opts(pipeline_id)
  {
    pipeline_id: pipeline_id,
    pipeline_objects: @pipeline_objects.to_api_opts,
    parameter_objects: @parameter_objects.to_api_opts,
    parameter_values: @parameter_values.to_api_opts,
  }
end
remove_tags_opts(pipeline_id) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 68
def remove_tags_opts(pipeline_id)
  { pipeline_id: pipeline_id, tag_keys: @pipeline_description.tag_keys }
end
tags() click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 38
def tags
  @pipeline_description.tags
end
to_yaml() click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 42
def to_yaml
  {
    "pipeline_description" => @pipeline_description.to_objs,
    "pipeline_objects" => @pipeline_objects.to_objs,
    "parameter_objects" => @parameter_objects.to_objs,
    "parameter_values" => @parameter_values.to_objs,
  }.to_yaml
end