dynamoid 3.4.1 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/lib/dynamoid/adapter.rb +2 -2
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3.rb +23 -23
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/batch_get_item.rb +2 -0
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/create_table.rb +1 -1
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/backoff.rb +1 -2
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/limit.rb +1 -3
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/middleware/start_key.rb +1 -2
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/query.rb +3 -2
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/scan.rb +3 -2
- data/lib/dynamoid/adapter_plugin/aws_sdk_v3/until_past_table_status.rb +1 -1
- data/lib/dynamoid/config.rb +2 -3
- data/lib/dynamoid/criteria.rb +1 -1
- data/lib/dynamoid/criteria/chain.rb +37 -12
- data/lib/dynamoid/criteria/ignored_conditions_detector.rb +2 -3
- data/lib/dynamoid/criteria/key_fields_detector.rb +7 -8
- data/lib/dynamoid/criteria/nonexistent_fields_detector.rb +2 -2
- data/lib/dynamoid/criteria/overwritten_conditions_detector.rb +0 -1
- data/lib/dynamoid/dirty.rb +50 -50
- data/lib/dynamoid/document.rb +2 -1
- data/lib/dynamoid/fields.rb +14 -1
- data/lib/dynamoid/finders.rb +4 -4
- data/lib/dynamoid/indexes.rb +2 -2
- data/lib/dynamoid/persistence.rb +32 -6
- data/lib/dynamoid/persistence/upsert.rb +0 -1
- data/lib/dynamoid/tasks.rb +3 -1
- data/lib/dynamoid/type_casting.rb +0 -2
- data/lib/dynamoid/version.rb +1 -1
- metadata +40 -56
- data/.coveralls.yml +0 -1
- data/.document +0 -5
- data/.gitignore +0 -74
- data/.rspec +0 -2
- data/.rubocop.yml +0 -71
- data/.rubocop_todo.yml +0 -55
- data/.travis.yml +0 -44
- data/Appraisals +0 -22
- data/Gemfile +0 -8
- data/Rakefile +0 -46
- data/Vagrantfile +0 -29
- data/docker-compose.yml +0 -7
- data/dynamoid.gemspec +0 -57
- data/gemfiles/rails_4_2.gemfile +0 -9
- data/gemfiles/rails_5_0.gemfile +0 -8
- data/gemfiles/rails_5_1.gemfile +0 -8
- data/gemfiles/rails_5_2.gemfile +0 -8
- data/gemfiles/rails_6_0.gemfile +0 -8
data/lib/dynamoid/dirty.rb
CHANGED
@@ -153,67 +153,67 @@ module Dynamoid
|
|
153
153
|
|
154
154
|
private
|
155
155
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
# Removes current changes and makes them accessible through +previous_changes+.
|
162
|
-
def changes_applied # :doc:
|
163
|
-
@previously_changed = changes
|
164
|
-
@changed_attributes = ActiveSupport::HashWithIndifferentAccess.new
|
165
|
-
end
|
156
|
+
def changes_include?(attr_name)
|
157
|
+
attributes_changed_by_setter.include?(attr_name)
|
158
|
+
end
|
159
|
+
alias attribute_changed_by_setter? changes_include?
|
166
160
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
161
|
+
# Removes current changes and makes them accessible through +previous_changes+.
|
162
|
+
def changes_applied # :doc:
|
163
|
+
@previously_changed = changes
|
164
|
+
@changed_attributes = ActiveSupport::HashWithIndifferentAccess.new
|
165
|
+
end
|
172
166
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
167
|
+
# Clear all dirty data: current changes and previous changes.
|
168
|
+
def clear_changes_information # :doc:
|
169
|
+
@previously_changed = ActiveSupport::HashWithIndifferentAccess.new
|
170
|
+
@changed_attributes = ActiveSupport::HashWithIndifferentAccess.new
|
171
|
+
end
|
177
172
|
|
178
|
-
|
179
|
-
|
180
|
-
|
173
|
+
# Handle <tt>*_change</tt> for +method_missing+.
|
174
|
+
def attribute_change(attr)
|
175
|
+
[changed_attributes[attr], __send__(attr)] if attribute_changed?(attr)
|
176
|
+
end
|
181
177
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
rescue TypeError, NoMethodError
|
186
|
-
end
|
178
|
+
# Handle <tt>*_will_change!</tt> for +method_missing+.
|
179
|
+
def attribute_will_change!(attr)
|
180
|
+
return if attribute_changed?(attr)
|
187
181
|
|
188
|
-
|
182
|
+
begin
|
183
|
+
value = __send__(attr)
|
184
|
+
value = value.duplicable? ? value.clone : value
|
185
|
+
rescue TypeError, NoMethodError
|
189
186
|
end
|
190
187
|
|
191
|
-
|
192
|
-
|
193
|
-
if attribute_changed?(attr)
|
194
|
-
__send__("#{attr}=", changed_attributes[attr])
|
195
|
-
clear_attribute_changes([attr])
|
196
|
-
end
|
197
|
-
end
|
188
|
+
set_attribute_was(attr, value)
|
189
|
+
end
|
198
190
|
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
191
|
+
# Handle <tt>restore_*!</tt> for +method_missing+.
|
192
|
+
def restore_attribute!(attr)
|
193
|
+
if attribute_changed?(attr)
|
194
|
+
__send__("#{attr}=", changed_attributes[attr])
|
195
|
+
clear_attribute_changes([attr])
|
203
196
|
end
|
197
|
+
end
|
198
|
+
|
199
|
+
# Returns +true+ if attr_name were changed before the model was saved,
|
200
|
+
# +false+ otherwise.
|
201
|
+
def previous_changes_include?(attr_name)
|
202
|
+
previous_changes.include?(attr_name)
|
203
|
+
end
|
204
204
|
|
205
|
-
|
206
|
-
|
207
|
-
|
205
|
+
# This is necessary because `changed_attributes` might be overridden in
|
206
|
+
# other implemntations (e.g. in `ActiveRecord`)
|
207
|
+
alias attributes_changed_by_setter changed_attributes # :nodoc:
|
208
208
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
209
|
+
# Force an attribute to have a particular "before" value
|
210
|
+
def set_attribute_was(attr, old_value)
|
211
|
+
attributes_changed_by_setter[attr] = old_value
|
212
|
+
end
|
213
213
|
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
214
|
+
# Remove changes information for the provided attributes.
|
215
|
+
def clear_attribute_changes(attributes) # :doc:
|
216
|
+
attributes_changed_by_setter.except!(*attributes)
|
217
|
+
end
|
218
218
|
end
|
219
219
|
end
|
data/lib/dynamoid/document.rb
CHANGED
@@ -51,7 +51,6 @@ module Dynamoid #:nodoc:
|
|
51
51
|
options[:write_capacity] || Dynamoid::Config.write_capacity
|
52
52
|
end
|
53
53
|
|
54
|
-
|
55
54
|
# Returns the billing (capacity) mode for this table.
|
56
55
|
# Could be either :provisioned or :on_demand
|
57
56
|
def capacity_mode
|
@@ -225,3 +224,5 @@ module Dynamoid #:nodoc:
|
|
225
224
|
end
|
226
225
|
end
|
227
226
|
end
|
227
|
+
|
228
|
+
ActiveSupport.run_load_hooks(:dynamoid, Dynamoid::Document)
|
data/lib/dynamoid/fields.rb
CHANGED
@@ -55,6 +55,12 @@ module Dynamoid #:nodoc:
|
|
55
55
|
end
|
56
56
|
self.attributes = attributes.merge(name => { type: type }.merge(options))
|
57
57
|
|
58
|
+
# should be called before `define_attribute_methods` method because it defines a getter itself
|
59
|
+
warn_about_method_overriding(name, name)
|
60
|
+
warn_about_method_overriding("#{named}=", name)
|
61
|
+
warn_about_method_overriding("#{named}?", name)
|
62
|
+
warn_about_method_overriding("#{named}_before_type_cast?", name)
|
63
|
+
|
58
64
|
define_attribute_method(name) # Dirty API
|
59
65
|
|
60
66
|
generated_methods.module_eval do
|
@@ -127,6 +133,12 @@ module Dynamoid #:nodoc:
|
|
127
133
|
end
|
128
134
|
end
|
129
135
|
end
|
136
|
+
|
137
|
+
def warn_about_method_overriding(method_name, field_name)
|
138
|
+
if self.instance_methods.include?(method_name.to_sym)
|
139
|
+
Dynamoid.logger.warn("Method #{method_name} generated for the field #{field_name} overrides already existing method")
|
140
|
+
end
|
141
|
+
end
|
130
142
|
end
|
131
143
|
|
132
144
|
# You can access the attributes of an object directly on its attributes method, which is by default an empty hash.
|
@@ -192,7 +204,8 @@ module Dynamoid #:nodoc:
|
|
192
204
|
#
|
193
205
|
# @since 0.2.0
|
194
206
|
def set_updated_at
|
195
|
-
|
207
|
+
# @_touch_record=false means explicit disabling
|
208
|
+
if self.class.timestamps_enabled? && !updated_at_changed? && @_touch_record != false
|
196
209
|
self.updated_at = DateTime.now.in_time_zone(Time.zone)
|
197
210
|
end
|
198
211
|
end
|
data/lib/dynamoid/finders.rb
CHANGED
@@ -183,7 +183,7 @@ module Dynamoid
|
|
183
183
|
def find_all_by_composite_key(hash_key, options = {})
|
184
184
|
ActiveSupport::Deprecation.warn('[Dynamoid] .find_all_composite_key is deprecated! Call .where instead of')
|
185
185
|
|
186
|
-
Dynamoid.adapter.query(table_name, options.merge(hash_value: hash_key)).flat_map{ |i| i }.collect do |item|
|
186
|
+
Dynamoid.adapter.query(table_name, options.merge(hash_value: hash_key)).flat_map { |i| i }.collect do |item|
|
187
187
|
from_database(item)
|
188
188
|
end
|
189
189
|
end
|
@@ -240,7 +240,7 @@ module Dynamoid
|
|
240
240
|
opts[range_op_mapped] = range_key_value
|
241
241
|
end
|
242
242
|
dynamo_options = opts.merge(options.reject { |key, _| key == :range })
|
243
|
-
Dynamoid.adapter.query(table_name, dynamo_options).flat_map{ |i| i }.map do |item|
|
243
|
+
Dynamoid.adapter.query(table_name, dynamo_options).flat_map { |i| i }.map do |item|
|
244
244
|
from_database(item)
|
245
245
|
end
|
246
246
|
end
|
@@ -267,9 +267,9 @@ module Dynamoid
|
|
267
267
|
chain = chain.where({}.tap { |h| attributes.each_with_index { |attr, index| h[attr.to_sym] = args[index] } })
|
268
268
|
|
269
269
|
if finder =~ /all/
|
270
|
-
|
270
|
+
chain.all
|
271
271
|
else
|
272
|
-
|
272
|
+
chain.first
|
273
273
|
end
|
274
274
|
else
|
275
275
|
super
|
data/lib/dynamoid/indexes.rb
CHANGED
@@ -165,8 +165,8 @@ module Dynamoid
|
|
165
165
|
DEFAULT_PROJECTION_TYPE = :keys_only
|
166
166
|
|
167
167
|
attr_accessor :name, :dynamoid_class, :type, :hash_key, :range_key,
|
168
|
-
|
169
|
-
|
168
|
+
:hash_key_schema, :range_key_schema, :projected_attributes,
|
169
|
+
:read_capacity, :write_capacity
|
170
170
|
|
171
171
|
validate do
|
172
172
|
validate_index_type
|
data/lib/dynamoid/persistence.rb
CHANGED
@@ -11,8 +11,8 @@ require 'dynamoid/persistence/save'
|
|
11
11
|
|
12
12
|
# encoding: utf-8
|
13
13
|
module Dynamoid
|
14
|
-
# Persistence is responsible for dumping objects to and marshalling objects from the datastore. It tries to reserialize
|
15
|
-
# values to be of the same type as when they were passed in, based on the fields in the class.
|
14
|
+
# # Persistence is responsible for dumping objects to and marshalling objects from the datastore. It tries to reserialize
|
15
|
+
# # values to be of the same type as when they were passed in, based on the fields in the class.
|
16
16
|
module Persistence
|
17
17
|
extend ActiveSupport::Concern
|
18
18
|
|
@@ -146,6 +146,25 @@ module Dynamoid
|
|
146
146
|
model
|
147
147
|
end
|
148
148
|
|
149
|
+
# Update document with provided attributes.
|
150
|
+
#
|
151
|
+
# Instantiates document and saves changes.
|
152
|
+
# Runs validations and callbacks. Raises Dynamoid::Errors::DocumentNotValid exception if validation fails.
|
153
|
+
#
|
154
|
+
# @param [Scalar value] partition key
|
155
|
+
# @param [Scalar value] sort key, optional
|
156
|
+
# @param [Hash] attributes
|
157
|
+
#
|
158
|
+
# @return [Dynamoid::Doument] updated document
|
159
|
+
#
|
160
|
+
# @example Update document
|
161
|
+
# Post.update!(101, title: 'New title')
|
162
|
+
def update!(hash_key, range_key_value = nil, attrs)
|
163
|
+
model = find(hash_key, range_key: range_key_value, consistent_read: true)
|
164
|
+
model.update_attributes!(attrs)
|
165
|
+
model
|
166
|
+
end
|
167
|
+
|
149
168
|
# Update document.
|
150
169
|
#
|
151
170
|
# Uses efficient low-level `UpdateItem` API call.
|
@@ -264,14 +283,16 @@ module Dynamoid
|
|
264
283
|
#
|
265
284
|
# @since 0.2.0
|
266
285
|
def persisted?
|
267
|
-
!new_record?
|
286
|
+
!(new_record? || @destroyed)
|
268
287
|
end
|
269
288
|
|
270
289
|
# Run the callbacks and then persist this object in the datastore.
|
271
290
|
#
|
272
291
|
# @since 0.2.0
|
273
|
-
def save(
|
274
|
-
self.class.create_table
|
292
|
+
def save(options = {})
|
293
|
+
self.class.create_table(sync: true)
|
294
|
+
|
295
|
+
@_touch_record = options[:touch]
|
275
296
|
|
276
297
|
if new_record?
|
277
298
|
run_callbacks(:create) do
|
@@ -342,7 +363,6 @@ module Dynamoid
|
|
342
363
|
raise Dynamoid::Errors::StaleObjectError.new(self, 'update')
|
343
364
|
end
|
344
365
|
end
|
345
|
-
|
346
366
|
end
|
347
367
|
|
348
368
|
def update(conditions = {}, &block)
|
@@ -389,6 +409,9 @@ module Dynamoid
|
|
389
409
|
ret = run_callbacks(:destroy) do
|
390
410
|
delete
|
391
411
|
end
|
412
|
+
|
413
|
+
@destroyed = true
|
414
|
+
|
392
415
|
ret == false ? false : self
|
393
416
|
end
|
394
417
|
|
@@ -413,6 +436,9 @@ module Dynamoid
|
|
413
436
|
end
|
414
437
|
options[:conditions] = conditions
|
415
438
|
end
|
439
|
+
|
440
|
+
@destroyed = true
|
441
|
+
|
416
442
|
Dynamoid.adapter.delete(self.class.table_name, hash_key, options)
|
417
443
|
rescue Dynamoid::Errors::ConditionalCheckFailedException
|
418
444
|
raise Dynamoid::Errors::StaleObjectError.new(self, 'delete')
|
data/lib/dynamoid/tasks.rb
CHANGED
data/lib/dynamoid/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Symonds
|
@@ -19,9 +19,9 @@ authors:
|
|
19
19
|
- Peter Boling
|
20
20
|
- Andrew Konchin
|
21
21
|
autorequire:
|
22
|
-
bindir:
|
22
|
+
bindir: bin
|
23
23
|
cert_chain: []
|
24
|
-
date:
|
24
|
+
date: 2020-04-04 00:00:00.000000000 Z
|
25
25
|
dependencies:
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activemodel
|
@@ -43,14 +43,14 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '1'
|
46
|
+
version: '1.0'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '1'
|
53
|
+
version: '1.0'
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
55
|
name: concurrent-ruby
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,16 +83,16 @@ dependencies:
|
|
83
83
|
name: appraisal
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
88
|
+
version: '2.2'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
91
|
version_requirements: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- - "
|
93
|
+
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
95
|
+
version: '2.2'
|
96
96
|
- !ruby/object:Gem::Dependency
|
97
97
|
name: bundler
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,58 +111,58 @@ dependencies:
|
|
111
111
|
name: coveralls
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- - "
|
114
|
+
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
116
|
+
version: '0.8'
|
117
117
|
type: :development
|
118
118
|
prerelease: false
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- - "
|
121
|
+
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '0'
|
123
|
+
version: '0.8'
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: pry
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- - "
|
128
|
+
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
130
|
+
version: 0.12.0
|
131
131
|
type: :development
|
132
132
|
prerelease: false
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
|
-
- - "
|
135
|
+
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
137
|
+
version: 0.12.0
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: rake
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- - "
|
142
|
+
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0'
|
144
|
+
version: '13.0'
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- - "
|
149
|
+
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
151
|
+
version: '13.0'
|
152
152
|
- !ruby/object:Gem::Dependency
|
153
153
|
name: rspec
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- - "
|
156
|
+
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
158
|
+
version: '3.9'
|
159
159
|
type: :development
|
160
160
|
prerelease: false
|
161
161
|
version_requirements: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
|
-
- - "
|
163
|
+
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: '
|
165
|
+
version: '3.9'
|
166
166
|
- !ruby/object:Gem::Dependency
|
167
167
|
name: rubocop
|
168
168
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,63 +181,44 @@ dependencies:
|
|
181
181
|
name: wwtd
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
|
-
- - "
|
184
|
+
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: '
|
186
|
+
version: '1.4'
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
189
|
version_requirements: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
|
-
- - "
|
191
|
+
- - "~>"
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
193
|
+
version: '1.4'
|
194
194
|
- !ruby/object:Gem::Dependency
|
195
195
|
name: yard
|
196
196
|
requirement: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
|
-
- - "
|
198
|
+
- - "~>"
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version: '0'
|
200
|
+
version: '0.9'
|
201
201
|
type: :development
|
202
202
|
prerelease: false
|
203
203
|
version_requirements: !ruby/object:Gem::Requirement
|
204
204
|
requirements:
|
205
|
-
- - "
|
205
|
+
- - "~>"
|
206
206
|
- !ruby/object:Gem::Version
|
207
|
-
version: '0'
|
207
|
+
version: '0.9'
|
208
208
|
description: Dynamoid is an ORM for Amazon's DynamoDB that supports offline development,
|
209
209
|
associations, querying, and everything else you'd expect from an ActiveRecord-style
|
210
210
|
replacement.
|
211
211
|
email:
|
212
212
|
- peter.boling@gmail.com
|
213
213
|
- brian@stellaservice.com
|
214
|
+
- andry.konchin@gmail.com
|
214
215
|
executables: []
|
215
216
|
extensions: []
|
216
|
-
extra_rdoc_files:
|
217
|
-
- LICENSE.txt
|
218
|
-
- README.md
|
217
|
+
extra_rdoc_files: []
|
219
218
|
files:
|
220
|
-
- ".coveralls.yml"
|
221
|
-
- ".document"
|
222
|
-
- ".gitignore"
|
223
|
-
- ".rspec"
|
224
|
-
- ".rubocop.yml"
|
225
|
-
- ".rubocop_todo.yml"
|
226
|
-
- ".travis.yml"
|
227
|
-
- Appraisals
|
228
219
|
- CHANGELOG.md
|
229
|
-
- Gemfile
|
230
220
|
- LICENSE.txt
|
231
221
|
- README.md
|
232
|
-
- Rakefile
|
233
|
-
- Vagrantfile
|
234
|
-
- docker-compose.yml
|
235
|
-
- dynamoid.gemspec
|
236
|
-
- gemfiles/rails_4_2.gemfile
|
237
|
-
- gemfiles/rails_5_0.gemfile
|
238
|
-
- gemfiles/rails_5_1.gemfile
|
239
|
-
- gemfiles/rails_5_2.gemfile
|
240
|
-
- gemfiles/rails_6_0.gemfile
|
241
222
|
- lib/dynamoid.rb
|
242
223
|
- lib/dynamoid/adapter.rb
|
243
224
|
- lib/dynamoid/adapter_plugin/aws_sdk_v3.rb
|
@@ -296,10 +277,13 @@ files:
|
|
296
277
|
- lib/dynamoid/undumping.rb
|
297
278
|
- lib/dynamoid/validations.rb
|
298
279
|
- lib/dynamoid/version.rb
|
299
|
-
homepage: http://github.com/Dynamoid/
|
280
|
+
homepage: http://github.com/Dynamoid/dynamoid
|
300
281
|
licenses:
|
301
282
|
- MIT
|
302
|
-
metadata:
|
283
|
+
metadata:
|
284
|
+
bug_tracker_uri: https://github.com/Dynamoid/dynamoid/issues
|
285
|
+
changelog_uri: https://github.com/Dynamoid/dynamoid/tag/v3.5.0/CHANGELOG.md
|
286
|
+
source_code_uri: https://github.com/Dynamoid/dynamoid/tree/v3.5.0
|
303
287
|
post_install_message:
|
304
288
|
rdoc_options: []
|
305
289
|
require_paths:
|