Class: Dynamoid::Transactions::Mutation::Builders::DeleteRequestBuilder
- Inherits:
-
Object
- Object
- Dynamoid::Transactions::Mutation::Builders::DeleteRequestBuilder
- Defined in:
- lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb
Instance Attribute Summary collapse
-
#condition_expression ⇒ Object
writeonly
Sets the attribute condition_expression.
-
#hash_key ⇒ Object
writeonly
Sets the attribute hash_key.
-
#range_key ⇒ Object
writeonly
Sets the attribute range_key.
Instance Method Summary collapse
- #add_expression_attribute_name(placeholder, name) ⇒ Object
- #add_expression_attribute_value(placeholder, value) ⇒ Object
-
#initialize(model_class) ⇒ DeleteRequestBuilder
constructor
A new instance of DeleteRequestBuilder.
- #request ⇒ Object
Constructor Details
#initialize(model_class) ⇒ DeleteRequestBuilder
Returns a new instance of DeleteRequestBuilder.
11 12 13 14 15 16 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 11 def initialize(model_class) @model_class = model_class @condition_expression = nil @extra_attribute_names = {} @extra_attribute_values = {} end |
Instance Attribute Details
#condition_expression=(value) ⇒ Object (writeonly)
Sets the attribute condition_expression
9 10 11 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 9 def condition_expression=(value) @condition_expression = value end |
#hash_key=(value) ⇒ Object (writeonly)
Sets the attribute hash_key
9 10 11 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 9 def hash_key=(value) @hash_key = value end |
#range_key=(value) ⇒ Object (writeonly)
Sets the attribute range_key
9 10 11 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 9 def range_key=(value) @range_key = value end |
Instance Method Details
#add_expression_attribute_name(placeholder, name) ⇒ Object
18 19 20 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 18 def add_expression_attribute_name(placeholder, name) @extra_attribute_names[placeholder] = name end |
#add_expression_attribute_value(placeholder, value) ⇒ Object
22 23 24 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 22 def add_expression_attribute_value(placeholder, value) @extra_attribute_values[placeholder] = value end |
#request ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/dynamoid/transactions/mutation/builders/delete_request_builder.rb', line 26 def request key = { @model_class.hash_key => @hash_key } key[@model_class.range_key] = @range_key if @model_class.range_key? { delete: { key: key, table_name: @model_class.table_name, expression_attribute_names: @extra_attribute_names.presence, expression_attribute_values: @extra_attribute_values.presence, condition_expression: @condition_expression }.compact } end |