class Ufo::Stack::Builder::Resources::TaskDefinition::Reconstructor
Public Class Methods
new(task_definition, rollback=false)
click to toggle source
# File lib/ufo/stack/builder/resources/task_definition/reconstructor.rb, line 5 def initialize(task_definition, rollback=false) @task_definition, @rollback = task_definition, rollback end
Public Instance Methods
camelize(value, parent_keys=[])
click to toggle source
non-destructive
# File lib/ufo/stack/builder/resources/task_definition/reconstructor.rb, line 24 def camelize(value, parent_keys=[]) case value when Array value.map { |v| camelize(v, parent_keys) } when Hash initializer = value.map do |k, v| new_key = camelize_key(k, parent_keys) [new_key, camelize(v, parent_keys+[new_key])] end Hash[initializer] else value # do not camelize values end end
camelize_key(k, parent_keys=[])
click to toggle source
# File lib/ufo/stack/builder/resources/task_definition/reconstructor.rb, line 39 def camelize_key(k, parent_keys=[]) k = k.to_s special = %w[Options] & parent_keys.map(&:to_s) if special.empty? k.camelize else k # pass through untouch end end
data()
click to toggle source
# File lib/ufo/stack/builder/resources/task_definition/reconstructor.rb, line 13 def data if @rollback resp = ecs.describe_task_definition(task_definition: @task_definition) resp.task_definition.to_h else path = "#{Ufo.root}/.ufo/output/#{@task_definition}.json" JSON.load(IO.read(path)) end end
reconstruct()
click to toggle source
# File lib/ufo/stack/builder/resources/task_definition/reconstructor.rb, line 9 def reconstruct camelize(data) end