class Aws::Json::Builder

def format(shape, value)

Returns:
  • (Object) -

Parameters:
  • value (Object) --
  • shape (Seahorse::Model::Shapes::Shape) --
def format(shape, value)
  case shape.type
  when 'structure' then structure(shape, value)
  when 'list'      then list(shape, value)
  when 'map'       then map(shape, value)
  when 'timestamp' then shape.format_time(value, 'unixTimestamp')
  when 'blob'      then Base64.strict_encode64(value.read)
  else value
  end
end

def list(list, values)

Returns:
  • (Array) -

Parameters:
  • values (Array) --
  • list (Seahorse::Model::Shapes::List) --
def list(list, values)
  values.collect { |value| format(list.member, value) }
end

def map(map, values)

Returns:
  • (Hash) -

Parameters:
  • values (Hash) --
  • map (Seahorse::Model::Shapes::Map) --
def map(map, values)
  values.each.with_object({}) do |(key, value), data|
    data[key] = format(map.value, value)
  end
end

def structure(structure, values)

Returns:
  • (Hash) -

Parameters:
  • values (Hash) --
  • structure (Seahorse::Model::Shapes::Structure) --
def structure(structure, values)
  values.each.with_object({}) do |(key, value), data|
    if structure.member?(key) && !value.nil?
      member_shape = structure.member(key)
      name = member_shape.location_name || key
      data[name] = format(member_shape, value)
    end
  end
end

def to_json(shape, params)

Returns:
  • (String) -

Parameters:
  • params (Hash) --
  • shape (Seahorse::Model::Shapes::Shape) --
def to_json(shape, params)
  MultiJson.dump(format(shape, params))
end