class Aws::Json::Builder
def format(shape, value)
-
(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)
-
(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)
-
(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)
-
(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)
-
(String
-)
Parameters:
-
params
(Hash
) -- -
shape
(Seahorse::Model::Shapes::Shape
) --
def to_json(shape, params) MultiJson.dump(format(shape, params)) end