class Aws::Structure

@api private

Public Class Methods

new(values = {}) click to toggle source
# File lib/aws-sdk-core/structure.rb, line 9
def initialize(values = {})
  values.each do |k, v|
    self[k] = v
  end
end
new(*args) click to toggle source

@api private

Calls superclass method
# File lib/aws-sdk-core/structure.rb, line 57
def new(*args)
  if args == ['AwsEmptyStructure']
    super
  elsif args.empty? || args.first == []
    EmptyStructure
  else
    super(*args)
  end
end

Public Instance Methods

empty?() click to toggle source

@return [Boolean] Returns `true` if all of the member values are `nil`.

# File lib/aws-sdk-core/structure.rb, line 22
def empty?
  values.compact == []
end
key?(member_name) click to toggle source

@return [Boolean] Returns `true` if this structure has a value

set for the given member.
# File lib/aws-sdk-core/structure.rb, line 17
def key?(member_name)
  !self[member_name].nil?
end
orig_to_h(obj = self)
Alias for: to_h
to_h(obj = self) click to toggle source

Deeply converts the Structure into a hash. Structure members that are `nil` are omitted from the resultant hash.

You can call orig_to_h to get vanilla to_h behavior as defined in stdlib Struct.

@return [Hash]

# File lib/aws-sdk-core/structure.rb, line 33
def to_h(obj = self)
  case obj
  when Struct
    obj.members.each.with_object({}) do |member, hash|
      value = obj[member]
      hash[member] = to_hash(value) unless value.nil?
    end
  when Hash
    obj.each.with_object({}) do |(key, value), hash|
      hash[key] = to_hash(value)
    end
  when Array
    obj.collect { |value| to_hash(value) }
  else
    obj
  end
end
Also aliased as: orig_to_h, to_hash
to_hash(obj = self)
Alias for: to_h