module AWS::Core::Data::MethodMissingProxy

def [] index_or_key

def [] index_or_key
  Data.cast(@data[index_or_key])
end

def _data

def _data
  @data
end

def dup

def dup
  Data.cast(@data.dup)
end

def eql? other

Returns:
  • (Boolean) - Returns true if the passed object equals
def eql? other
  if other.is_a?(MethodMissingProxy)
    @data == other._data
  else
    @data == other
  end
end

def id

Other tags:
    Api: - private
def id
  self[:id] || self.id
end

def method_missing *args, &block

def method_missing *args, &block
  if block_given?
    return_value = @data.send(*args) do |*values|
      yield(*values.flatten.map{|v| Data.cast(v) })
    end
    Data.cast(return_value)
  else
    Data.cast(@data.send(*args))
  end
end