Class: DynamoDB::SuccessResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/dynamodb/success_response.rb

Overview

Successful response from Dynamo

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http_response) ⇒ SuccessResponse

Returns a new instance of SuccessResponse.



6
7
8
# File 'lib/dynamodb/success_response.rb', line 6

def initialize(http_response)
  @http_response = http_response
end

Instance Attribute Details

#http_responseObject (readonly)

Returns the value of attribute http_response.



4
5
6
# File 'lib/dynamodb/success_response.rb', line 4

def http_response
  @http_response
end

Instance Method Details

#bodyObject



42
43
44
# File 'lib/dynamodb/success_response.rb', line 42

def body
  http_response.body
end

#dataObject

Access the deserialized JSON response body



47
48
49
# File 'lib/dynamodb/success_response.rb', line 47

def data
  @data ||= MultiJson.load(http_response.body)
end

#hash_key_elementObject



10
11
12
# File 'lib/dynamodb/success_response.rb', line 10

def hash_key_element
  DynamoDB.deserialize(data["LastEvaluatedKey"]["HashKeyElement"])
end

#itemObject

Return single item response as a Hash

Some DynamoDB operations, such as ‘GetItem`, will only return a single ’Item’ entry. This converts that entry in a Hash where values have been type-casted into their Ruby equivalents.



23
24
25
26
# File 'lib/dynamodb/success_response.rb', line 23

def item
  return unless data["Item"]
  @item ||= DynamoDB.deserialize(data["Item"])
end

#itemsObject

Return an Array of item responses

DynamoDB operations like ‘Query` return a collection of entries under the ’Items’ key. This returns an Array of Hashes where values have been casted to their Ruby equivalents.



33
34
35
36
# File 'lib/dynamodb/success_response.rb', line 33

def items
  return unless data["Items"]
  @items ||= data["Items"].map { |i| DynamoDB.deserialize(i) }
end

#range_key_elementObject



14
15
16
# File 'lib/dynamodb/success_response.rb', line 14

def range_key_element
  DynamoDB.deserialize(data["LastEvaluatedKey"]["RangeKeyElement"])
end

#success?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/dynamodb/success_response.rb', line 38

def success?
  true
end