class Aws::Query::EC2ParamBuilder

def apply(shape, params)

Returns:
  • (void) -

Parameters:
  • params (Hash) --
  • shape (Seahorse::Model::Shapes::Structure) --
def apply(shape, params)
  structure(shape, params, '')
end

def format(shape, value, prefix)

Parameters:
  • prefix (String) --
  • value (Object) --
  • shape (Seahorse::Model::Shapes::Shape) --
def format(shape, value, prefix)
  case shape.type
  when 'structure' then structure(shape, value, prefix + '.')
  when 'list'      then list(shape, value, prefix)
  when 'map'       then raise NotImplementedError
  when 'blob'      then set(prefix, Base64.strict_encode64(value))
  when 'timestamp'
    set(prefix, shape.format_time(value, 'iso8601').to_s)
  else
    set(prefix, value.to_s)
  end
end

def initialize(param_list)

Parameters:
  • param_list (ParamList) --
def initialize(param_list)
  @params = param_list
end

def list(list, values, prefix)

Parameters:
  • prefix (String) --
  • values (Array) --
  • list (Seahorse::Model::Shapes::List) --
def list(list, values, prefix)
  if values.empty?
    set(prefix, '')
  else
    values.each.with_index do |value, n|
      format(list.member, value, "#{prefix}.#{n+1}")
    end
  end
end

def query_name(shape)

def query_name(shape)
  shape.metadata('queryName') || ucfirst(shape.location_name)
end

def set(name, value)

def set(name, value)
  params.set(name, value)
end

def structure(structure, values, prefix)

Parameters:
  • prefix (String, nil) --
  • values (Hash) --
  • structure (Seahorse::Model::Shapes::Structure) --
def structure(structure, values, prefix)
  values.each do |name, value|
    unless value.nil?
      member_shape = structure.member(name)
      format(member_shape, value, prefix + query_name(member_shape))
    end
  end
end

def ucfirst(str)

def ucfirst(str)
  str[0].upcase + str[1..-1]
end