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
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