class Aws::Json::Parser
def list(list, values, target = nil)
-
(Array)
-
Parameters:
-
target
(Array, nil
) -- -
values
(Array
) -- -
list
(Seahorse::Model::Shapes::List
) --
def list(list, values, target = nil) target = [] if target.nil? values.each { |value| target << parse_shape(list.member, value) } target end
def map(map, values, target = nil)
-
(Hash)
-
Parameters:
-
values
(Hash
) -- -
map
(Seahorse::Model::Shapes::Map
) --
def map(map, values, target = nil) target = {} if target.nil? values.each do |key, value| target[key] = parse_shape(map.value, value) end target end
def parse(shape, json, target = nil)
-
(Hash)
-
Parameters:
-
target
(Hash, Array, nil
) -- -
json
(String
) -- -
shape
(Seahorse::Model::Shapes::Shape
) --
def parse(shape, json, target = nil) parse_shape(shape, MultiJson.load(json, max_nesting: false), target) end
def parse_shape(shape, value, target = nil)
-
(Object)
-
Parameters:
-
target
(Hash, Array, nil
) -- -
value
(Object
) -- -
shape
(Seahorse::Model::Shapes::Shape
) --
def parse_shape(shape, value, target = nil) if value.nil? nil else case shape when Seahorse::Model::Shapes::Structure then structure(shape, value, target) when Seahorse::Model::Shapes::List then list(shape, value, target) when Seahorse::Model::Shapes::Map then map(shape, value, target) when Seahorse::Model::Shapes::Timestamp then time(value) when Seahorse::Model::Shapes::Blob then Base64.decode64(value) else value end end end
def structure(structure, values, target = nil)
-
(Struct)
-
Parameters:
-
target
(Hash, nil
) -- -
values
(Hash
) -- -
structure
(Seahorse::Model::Shapes::Structure
) --
def structure(structure, values, target = nil) target = Structure.new(structure.member_names) if target.nil? values.each do |serialized_name, value| member_name, shape = structure.member_by_location_name(serialized_name) if shape target[member_name] = parse_shape(shape, value) end end target end
def time(value)
-
(Time)
-
Parameters:
-
value
(String, Integer
) --
def time(value) value.is_a?(Numeric) ? Time.at(value) : Time.parse(value) end