class Fog::AWS::DataPipeline::Shared::JSONObject

Public Class Methods

new(object) click to toggle source
# File lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb, line 6
def initialize(object)
  @json_fields = object.clone
  @id = @json_fields.delete('id')
  @name = @json_fields.delete('name') || @id
end

Public Instance Methods

to_api() click to toggle source
# File lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb, line 12
def to_api
  {
    'id' => @id,
    'name' => @name,
    'fields' => fields
  }
end

Private Instance Methods

field_for_kv(key, value) click to toggle source
# File lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb, line 26
def field_for_kv(key, value)
  if value.is_a?(Hash)
    { 'key' => key, 'refValue' => value['ref'], 'stringValue' => value['stringValue'] }

  elsif value.is_a?(Array)
    value.map { |subvalue| field_for_kv(key, subvalue) }

  else
    { 'key' => key, 'stringValue' => value }

  end
end
fields() click to toggle source
# File lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb, line 22
def fields
  @json_fields.map{|k,v| field_for_kv(k,v)}.flatten
end