class Aws::Structure

def new(*args)

Returns:
  • (EmptyStructure) -
  • (Struct) -
  • (Struct) -
  • (Struct) -

Overloads:
  • new()
  • new(members)
  • new(*member_names)
  • new(member_names)

Parameters:
  • members (Hash) -- A hash of member names
  • member_names (Symbol) -- A list of member names.
  • member_names (Array) -- An array of member names.
def new(*args)
  members, values = parse_args(args)
  if members.empty? && self == Structure
    EmptyStructure.new
  else
    struct_class = @@classes[members]
    if struct_class.nil?
      @@classes_mutex.synchronize do
        struct_class = members.empty? ? super(:_) : super(*members)
        @@classes[members] = struct_class
      end
    end
    struct_class.new(*values)
  end
end