class PipeFitter::Pipeline::PipelineObjects

Public Class Methods

create(api_res) click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 151
def self.create(api_res)
  objs = (api_res || []).map(&:to_h).map do |obj|
    base = { id: obj[:id], name: obj[:name] }
    fields = obj[:fields].inject({}) do |a, e|
      update_hash(a, e[:key].to_sym, e[:string_value] || { ref: e[:ref_value] })
    end
    base.merge(fields)
  end
  new(objs)
end

Public Instance Methods

key_order() click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 162
def key_order
  %i(id name).freeze
end
to_api_opts() click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 166
def to_api_opts
  @objs.map do |obj|
    { id: obj[:id], name: obj[:name], fields: split_object(obj, %i(id name)) }
  end
end