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