class PipeFitter::Pipeline::PipelineDescription
Constants
- DESCRIPTION_KEYS
Public Class Methods
create(api_res)
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 217 def self.create(api_res) objs = { pipeline_id: api_res[:pipeline_id], name: api_res[:name], description: api_res[:description], tags: (api_res[:tags] || []).map { |e| { e[:key].to_sym => e[:value] } }, } (api_res[:fields] || []).inject(objs) do |a, e| a.update(e[:key].to_sym => (e[:string_value] || { ref: e[:ref_value] } )) end new(objs) end
new(objs, filepath = nil)
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 230 def initialize(objs, filepath = nil) @objs = symbolize_keys(objs || {}).sort_by do |k, v| [DESCRIPTION_KEYS.index(k) || DESCRIPTION_KEYS.size + 1, k.to_s, v.to_s] end.to_h @filepath = filepath end
Public Instance Methods
name()
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 264 def name @objs[:name] end
tag_keys()
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 260 def tag_keys @objs[:tags].map(&:keys).flatten end
to_api_opts()
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 243 def to_api_opts @objs.select { |k, _| DESCRIPTION_KEYS.include?(k) }.tap do |obj| obj[:unique_id] = obj.delete(:uniqueId) obj[:tags] = obj[:tags].map do |tag| tag.map { |k, v| { key: k, value: v } } end.flatten end end
to_objs()
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 239 def to_objs stringify_keys(@objs.select { |k, _| DESCRIPTION_KEYS.include?(k) }) end
unique_id()
click to toggle source
# File lib/pipe_fitter/pipeline.rb, line 268 def unique_id @objs[:uniqueId] end