aws-record 2.6.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 309ae7c37a70b41c9bb7695bd0c79a5faa83195c764986f28d43becc61f82f09
4
- data.tar.gz: d13944acd83e60191102e72078cd399190dfc0632a670a791134c33382578260
3
+ metadata.gz: 613ebc2bb79fb30645f69fc831911f4fb269e9fe1e0d69bb064e5cc0b6c3294c
4
+ data.tar.gz: 6012bd27fd72dd5b8702e9833d302c57df7d9c44834ac37a6f347735328898ff
5
5
  SHA512:
6
- metadata.gz: c4ad5ee650e8d785eee3fac8b5f33f5e2db82ea3fd903bbde374e5d85920ec92c85c724fe55ed913befcb5ad5b1c27e9d38ebc3c41a7ae4c3eefe9cba45ea690
7
- data.tar.gz: 8f014faf8d060af4db13acde3cdbc67e8a34a534c612c8a7b739911d1ea568743fb899ff88b11474e46417af7ad25761dd3a7cabda850c96c79297ef4b79981c
6
+ metadata.gz: e524df13f1433045d958466a377672f28a9c5cb7765f1d365ba856ff51ad8b78d7ab60bf55bd4b36d36ed4d880f7452ee5f09aff9cf0f7ec67f1096dbb3ccc2a
7
+ data.tar.gz: 34bb9db197f9f6b825b1b4296aace9df35f1e72f9e814bc530b25e36117500ab52b2710730ebf3dd712381fb7d85415f36a52a61c1c32420922492d3ebf21729
@@ -50,7 +50,6 @@ module Aws
50
50
  # # Attribute definitions go here...
51
51
  # end
52
52
  def self.included(sub_class)
53
- @track_mutations = true
54
53
  sub_class.send(:extend, RecordClassMethods)
55
54
  sub_class.send(:include, Attributes)
56
55
  sub_class.send(:include, ItemOperations)
@@ -201,7 +200,11 @@ module Aws
201
200
  # @return [Boolean] true if mutation tracking is enabled at the model
202
201
  # level, false otherwise.
203
202
  def mutation_tracking_enabled?
204
- @track_mutations == false ? false : true
203
+ if defined?(@track_mutations)
204
+ @track_mutations
205
+ else
206
+ @track_mutations = true
207
+ end
205
208
  end
206
209
 
207
210
  def model_valid?
@@ -53,9 +53,7 @@ module Aws
53
53
  @marshaler = options[:marshaler] || DefaultMarshaler
54
54
  @persist_nil = options[:persist_nil]
55
55
  dv = options[:default_value]
56
- unless dv.nil?
57
- @default_value_or_lambda = _is_lambda?(dv) ? dv : type_cast(dv)
58
- end
56
+ @default_value_or_lambda = _is_lambda?(dv) ? dv : type_cast(dv)
59
57
  end
60
58
 
61
59
  # Attempts to type cast a raw value into the attribute's type. This call
@@ -101,9 +101,9 @@ module Aws
101
101
  @params[:expression_attribute_values] = {}
102
102
  values = @params[:expression_attribute_values]
103
103
  end
104
- _key_pass(statement_str, names)
105
- _apply_values(statement_str, subs, values)
106
- @params[:key_condition_expression] = statement_str
104
+ prepared = _key_pass(statement_str, names)
105
+ statement = _apply_values(prepared, subs, values)
106
+ @params[:key_condition_expression] = statement
107
107
  self
108
108
  end
109
109
 
@@ -123,7 +123,7 @@ module Aws
123
123
  # "contains(:body, ?)",
124
124
  # "bacon"
125
125
  # ).complete!
126
- #
126
+ #
127
127
  def filter_expr(statement_str, *subs)
128
128
  names = @params[:expression_attribute_names]
129
129
  if names.nil?
@@ -135,9 +135,9 @@ module Aws
135
135
  @params[:expression_attribute_values] = {}
136
136
  values = @params[:expression_attribute_values]
137
137
  end
138
- _key_pass(statement_str, names)
139
- _apply_values(statement_str, subs, values)
140
- @params[:filter_expression] = statement_str
138
+ prepared = _key_pass(statement_str, names)
139
+ statement = _apply_values(prepared, subs, values)
140
+ @params[:filter_expression] = statement
141
141
  self
142
142
  end
143
143
 
@@ -167,8 +167,8 @@ module Aws
167
167
  @params[:expression_attribute_names] = {}
168
168
  names = @params[:expression_attribute_names]
169
169
  end
170
- _key_pass(statement_str, names)
171
- @params[:projection_expression] = statement_str
170
+ prepared = _key_pass(statement_str, names)
171
+ @params[:projection_expression] = prepared
172
172
  self
173
173
  end
174
174
 
@@ -232,8 +232,8 @@ module Aws
232
232
 
233
233
  private
234
234
  def _key_pass(statement, names)
235
- statement.gsub!(/:(\w+)/) do |match|
236
- key = match.gsub!(':','').to_sym
235
+ statement.gsub(/:(\w+)/) do |match|
236
+ key = match.gsub(':','').to_sym
237
237
  key_name = @model.attributes.storage_name_for(key)
238
238
  if key_name
239
239
  sub_name = _next_name
@@ -248,15 +248,16 @@ module Aws
248
248
 
249
249
  def _apply_values(statement, subs, values)
250
250
  count = 0
251
- statement.gsub!(/[?]/) do |match|
251
+ statement.gsub(/[?]/) do |match|
252
252
  sub_value = _next_value
253
253
  raise "Substitution collision!" if values[sub_value]
254
254
  values[sub_value] = subs[count]
255
255
  count += 1
256
256
  sub_value
257
- end
258
- unless count == subs.size
259
- raise "Expected #{count} values in the substitution set, but found #{subs.size}"
257
+ end.tap do
258
+ unless count == subs.size
259
+ raise "Expected #{count} values in the substitution set, but found #{subs.size}"
260
+ end
260
261
  end
261
262
  end
262
263
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-record
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-13 00:00:00.000000000 Z
11
+ date: 2021-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-dynamodb
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.2.3
84
+ rubygems_version: 3.2.7
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS Record library for Amazon DynamoDB