in lib/aws-record/record/item_operations.rb [491:515]
def find_with_opts(opts)
key = opts.delete(:key)
request_key = {}
@keys.keys.each_value do |attr_sym|
unless key[attr_sym]
raise Errors::KeyMissing.new(
"Missing required key #{attr_sym} in #{key}"
)
end
attr_name = attributes.storage_name_for(attr_sym)
request_key[attr_name] = attributes.attribute_for(attr_sym).
serialize(key[attr_sym])
end
request_opts = {
table_name: table_name,
key: request_key
}.merge(opts)
resp = dynamodb_client.get_item(request_opts)
if resp.item.nil?
nil
else
build_item_from_resp(resp)
end
end