activerecord-update 0.0.2 → 0.1.0

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,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c2f6991302388163951e76a30a77490613974ad6
4
- data.tar.gz: 69c7913ae32b9b2be3ead5c5570fdad080cc425b
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ODNmMzBiN2U0NmY1YmNkMmE5NzgwZWVkMDUyYTUyYmZlNjljMWRmMA==
5
+ data.tar.gz: !binary |-
6
+ N2VhOTRjYjJiN2FjNjk0MjAyZWIwMTk4NTUwNmI0M2M2MDJiODU0MA==
5
7
  SHA512:
6
- metadata.gz: 05c28fe52389d585a66a5e4818c8849c5203a1a53db2399468f84c0449d3ffe1412b3e8604df679ef749eebd65d4eea05bbc14e5fba409af5ef42cbd2f049f4a
7
- data.tar.gz: c1ff81888f193ac6477339581a97d93de28ed838ff09f43f312ace5718e5ef275a7eaab903b42368bf44734d4f296f2e942d333daed5d403abc54343d08d12cb
8
+ metadata.gz: !binary |-
9
+ NTg3YjE2NjIwNDRmNTgzYmIzYmQzNTZhNDdkZDM4YmNiMjk3Mzg3NDYyNDg2
10
+ NTJkOWFkOWQzNGU2YjNiYjA0MGY5MmMyMTE5ZDYzNjM2ZDdhOTE4YzM0NWFk
11
+ ODk4YmJiODc1OTA2NTlmZmE5NjFiZmJiYTRlM2Q4MTZiOGNlY2M=
12
+ data.tar.gz: !binary |-
13
+ YjRjMzBmMmFjNjA5ZDM1NmQ4YjljZDUxYWQzYjMyZTgyNWMxZDEyODljZjgw
14
+ ZjlkMTQwMzJlMzVkZTEzN2M2NTViYTkxMmJkMjIxYWZlOWNkOWE2YWFjNjNj
15
+ OWJiNTQ0ZTc5ZmM4NjY1ZDRmMjMwNDgxOTJkYjI4N2E1MTQ4MDg=
data/.gitignore CHANGED
@@ -1,4 +1,4 @@
1
- /.bundle/
1
+ .bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
4
  /_yardoc/
@@ -8,3 +8,4 @@
8
8
  /profile_reports/
9
9
  /spec/reports/
10
10
  /tmp/
11
+ *.gemfile.lock
@@ -17,3 +17,14 @@ Metrics/BlockLength:
17
17
 
18
18
  Style/AlignParameters:
19
19
  EnforcedStyle: with_fixed_indentation
20
+
21
+ Style/EmptyMethod:
22
+ EnforcedStyle: expanded
23
+
24
+ AllCops:
25
+ Exclude:
26
+ # Ignore what's in core_ext since those files are copied directly from
27
+ # ActiveSupport
28
+ - 'lib/activerecord-update/core_ext/**/*'
29
+ # Everything in this directory is automatically generated
30
+ - 'gemfiles/**/*'
@@ -5,6 +5,16 @@ rvm:
5
5
  - 2.3.3
6
6
  - 2.1.5
7
7
 
8
+ gemfile:
9
+ - gemfiles/4.1.gemfile
10
+
11
+ matrix:
12
+ include:
13
+ - rvm: 1.9.3
14
+ gemfile: gemfiles/2.3.gemfile
15
+ before_script:
16
+ - ./before_script2.3.sh
17
+
8
18
  cache: bundler
9
19
  before_install: gem install bundler -v 1.13.6
10
20
 
@@ -0,0 +1,18 @@
1
+ appraise '2.3' do
2
+ gem 'activerecord', '2.3.5'
3
+
4
+ group :development, :test do
5
+ gem 'database_cleaner', '1.4.1'
6
+ gem 'rubocop', '0.41.2'
7
+ gem 'rb-readline'
8
+ end
9
+ end
10
+
11
+ appraise '4.1' do
12
+ gem 'activerecord', '4.1.9'
13
+
14
+ group :development, :test do
15
+ gem 'database_cleaner', '~> 1.5.3'
16
+ gem 'rubocop', '0.46.0'
17
+ end
18
+ end
data/README.md CHANGED
@@ -40,6 +40,11 @@ books.each { |book| book.title = nil }
40
40
  Book.update_records!(books) # will raise an ActiveRecord::RecordInvalid error
41
41
  ```
42
42
 
43
+ ## Supported Versions
44
+
45
+ * Ruby 1.9.3 or later
46
+ * ActiveRecord 2.3.x and 4.1.x
47
+
43
48
  ## Development
44
49
 
45
50
  After checking out the repo, run `bin/setup` to install dependencies. Then,
@@ -31,18 +31,21 @@ Gem::Specification.new do |spec|
31
31
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
32
  spec.require_paths = ['lib']
33
33
 
34
- spec.add_dependency 'activerecord', '4.1.9'
35
- spec.add_dependency 'activesupport', '4.1.9'
34
+ spec.required_ruby_version = '>= 1.9.3'
36
35
 
37
- spec.add_development_dependency 'database_cleaner', '~> 1.5'
36
+ spec.add_dependency 'activerecord', '>= 2.3.5', '<= 4.1.9'
37
+ spec.add_dependency 'activesupport', '>= 2.3.5', '<= 4.1.9'
38
+
39
+ spec.add_development_dependency 'appraisal', '~> 2.2'
38
40
  spec.add_development_dependency 'bundler', '~> 1.13'
41
+ spec.add_development_dependency 'database_cleaner', '>= 1.4.1', '< 1.6'
39
42
  spec.add_development_dependency 'pg', '0.18.2'
40
43
  spec.add_development_dependency 'pry-rescue', '~> 1.4'
41
44
  spec.add_development_dependency 'pry-stack_explorer', '~> 0.4.9'
42
45
  spec.add_development_dependency 'rake', '~> 10.0'
43
46
  spec.add_development_dependency 'redcarpet', '~> 3.3'
44
47
  spec.add_development_dependency 'rspec', '~> 3.5'
45
- spec.add_development_dependency 'rubocop', '0.46.0'
48
+ spec.add_development_dependency 'rubocop', '>= 0.41.2', '<= 0.46.0'
46
49
  spec.add_development_dependency 'ruby-prof', '~> 0.16'
47
50
  spec.add_development_dependency 'simplecov', '~> 0.12'
48
51
  spec.add_development_dependency 'timecop', '~> 0.8'
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+
3
+ set -ex
4
+
5
+ # The Psych YAML parser has a bug where `[:foo]` fails to parse
6
+ sed -Ei $'s/ order: \[ :year, :month, :day \]/ order:\\\n - :year\\\n - :month\\\n - :day/g' "$(bundle show activesupport)"/lib/active_support/locale/en.yml
7
+ bundle exec rake db:create
8
+ bundle exec rake db:migrate
@@ -0,0 +1,13 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "2.3.5"
6
+
7
+ group :development, :test do
8
+ gem "database_cleaner", "1.4.1"
9
+ gem "rubocop", "0.41.2"
10
+ gem "rb-readline"
11
+ end
12
+
13
+ gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "4.1.9"
6
+
7
+ group :development, :test do
8
+ gem "database_cleaner", "~> 1.5.3"
9
+ gem "rubocop", "0.46.0"
10
+ end
11
+
12
+ gemspec path: "../"
@@ -1,6 +1,17 @@
1
1
  # rubocop:disable Style/FileName
2
2
 
3
- require 'active_support/core_ext/string/strip'
3
+ begin
4
+ require 'active_support/core_ext/string/strip'
5
+ rescue LoadError
6
+ require 'activerecord-update/core_ext/string/strip'
7
+ end
8
+
9
+ begin
10
+ require 'active_support/core_ext/hash/slice'
11
+ rescue LoadError
12
+ require 'activerecord-update/core_ext/hash/slice'
13
+ end
14
+
4
15
  require 'active_record'
5
16
 
6
17
  require 'activerecord-update/version'
@@ -111,10 +111,12 @@ module ActiveRecord
111
111
  # @see .update_records
112
112
  def _update_records(
113
113
  records,
114
- raise_on_validation_failure:,
115
- raise_on_stale_objects:
114
+ options
116
115
  )
117
116
 
117
+ raise_on_validation_failure = options[:raise_on_validation_failure]
118
+ raise_on_stale_objects = options[:raise_on_stale_objects]
119
+
118
120
  changed = changed_records(records)
119
121
  valid, failed = validate_records(changed, raise_on_validation_failure)
120
122
  return build_result(valid, failed, []) if valid.empty?
@@ -275,7 +277,13 @@ module ActiveRecord
275
277
  # @return [String] the table alias quoted.
276
278
  def quoted_table_alias
277
279
  @quoted_table_alias ||=
278
- connection.quote_table_name(arel_table.alias.name)
280
+ connection.quote_table_name(table_name + '_2')
281
+ end
282
+
283
+ unless defined?(quoted_primary_key)
284
+ def quoted_primary_key
285
+ @quoted_primary_key ||= connection.quote_column_name(primary_key)
286
+ end
279
287
  end
280
288
 
281
289
  # Quotes/escapes the given column value to prevent SQL injection attacks.
@@ -443,8 +451,7 @@ module ActiveRecord
443
451
  # We're using `slice` instead of `changed_attributes` because we need
444
452
  # to include all the changed attributes from all the changed records
445
453
  # and not just the changed attributes for a given record.
446
- values = record
447
- .slice(*changed_attributes)
454
+ values = slice(record, *changed_attributes)
448
455
  .merge('updated_at' => updated_at)
449
456
  .values
450
457
 
@@ -456,6 +463,17 @@ module ActiveRecord
456
463
  # rubocop:enable Metrics/AbcSize
457
464
  # rubocop:enable Metrics/MethodLength
458
465
 
466
+ # Returns a hash of the given methods with their names as keys and
467
+ # returned values as values.
468
+ def slice(record, *methods)
469
+ if record.respond_to?(:slice)
470
+ record.slice(*methods)
471
+ else
472
+ result = methods.map! { |m| [m, record.public_send(m)] }
473
+ Hash[result].with_indifferent_access
474
+ end
475
+ end
476
+
459
477
  # Increments the lock column of the given record if locking is enabled.
460
478
  #
461
479
  # @param record [ActiveRecord::Base] the record to update the lock column
@@ -613,6 +631,12 @@ module ActiveRecord
613
631
  return unless result.stale_objects?
614
632
  record = result.stale_objects.first
615
633
  return unless raise_on_stale_objects
634
+
635
+ if ActiveRecord::VERSION::MAJOR == 2
636
+ message = "Attempted to update a stale object: #{record.class.name}"
637
+ raise ActiveRecord::StaleObjectError, message
638
+ end
639
+
616
640
  raise ActiveRecord::StaleObjectError.new(record, 'update')
617
641
  end
618
642
 
@@ -670,7 +694,13 @@ module ActiveRecord
670
694
  #
671
695
  # @return [void]
672
696
  def mark_changes_applied(records)
673
- records.each { |e| e.send(:changes_applied) }
697
+ if records.first.respond_to?(:changes_applied, true)
698
+ records.each { |e| e.send(:changes_applied) }
699
+ else # ActiveRecord 3.2
700
+ records.each do |e|
701
+ e.instance_variable_get(:@changed_attributes).clear
702
+ end
703
+ end
674
704
  end
675
705
  end
676
706
  end
@@ -0,0 +1,48 @@
1
+ class Hash
2
+ # Slices a hash to include only the given keys. Returns a hash containing
3
+ # the given keys.
4
+ #
5
+ # { a: 1, b: 2, c: 3, d: 4 }.slice(:a, :b)
6
+ # # => {:a=>1, :b=>2}
7
+ #
8
+ # This is useful for limiting an options hash to valid keys before
9
+ # passing to a method:
10
+ #
11
+ # def search(criteria = {})
12
+ # criteria.assert_valid_keys(:mass, :velocity, :time)
13
+ # end
14
+ #
15
+ # search(options.slice(:mass, :velocity, :time))
16
+ #
17
+ # If you have an array of keys you want to limit to, you should splat them:
18
+ #
19
+ # valid_keys = [:mass, :velocity, :time]
20
+ # search(options.slice(*valid_keys))
21
+ def slice(*keys)
22
+ keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
23
+ keys.each_with_object(self.class.new) { |k, hash| hash[k] = self[k] if has_key?(k) }
24
+ end
25
+
26
+ # Replaces the hash with only the given keys.
27
+ # Returns a hash containing the removed key/value pairs.
28
+ #
29
+ # { a: 1, b: 2, c: 3, d: 4 }.slice!(:a, :b)
30
+ # # => {:c=>3, :d=>4}
31
+ def slice!(*keys)
32
+ keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
33
+ omit = slice(*self.keys - keys)
34
+ hash = slice(*keys)
35
+ hash.default = default
36
+ hash.default_proc = default_proc if default_proc
37
+ replace(hash)
38
+ omit
39
+ end
40
+
41
+ # Removes and returns the key/value pairs matching the given keys.
42
+ #
43
+ # { a: 1, b: 2, c: 3, d: 4 }.extract!(:a, :b) # => {:a=>1, :b=>2}
44
+ # { a: 1, b: 2 }.extract!(:a, :x) # => {:a=>1}
45
+ def extract!(*keys)
46
+ keys.each_with_object(self.class.new) { |key, result| result[key] = delete(key) if has_key?(key) }
47
+ end
48
+ end
@@ -0,0 +1,23 @@
1
+ class String
2
+ # Strips indentation in heredocs.
3
+ #
4
+ # For example in
5
+ #
6
+ # if options[:usage]
7
+ # puts <<-USAGE.strip_heredoc
8
+ # This command does such and such.
9
+ #
10
+ # Supported options are:
11
+ # -h This message
12
+ # ...
13
+ # USAGE
14
+ # end
15
+ #
16
+ # the user would see the usage message aligned against the left margin.
17
+ #
18
+ # Technically, it looks for the least indented non-empty line
19
+ # in the whole string, and removes that amount of leading whitespace.
20
+ def strip_heredoc
21
+ gsub(/^#{scan(/^[ \t]*(?=\S)/).min}/, "".freeze)
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module Update
3
- VERSION = '0.0.2'.freeze
3
+ VERSION = '0.1.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,71 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Carlborg
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-20 00:00:00.000000000 Z
11
+ date: 2017-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 2.3.5
20
+ - - <=
18
21
  - !ruby/object:Gem::Version
19
22
  version: 4.1.9
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - '='
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 2.3.5
30
+ - - <=
25
31
  - !ruby/object:Gem::Version
26
32
  version: 4.1.9
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: activesupport
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - '='
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: 2.3.5
40
+ - - <=
32
41
  - !ruby/object:Gem::Version
33
42
  version: 4.1.9
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - '='
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: 2.3.5
50
+ - - <=
39
51
  - !ruby/object:Gem::Version
40
52
  version: 4.1.9
41
53
  - !ruby/object:Gem::Dependency
42
- name: database_cleaner
54
+ name: appraisal
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - "~>"
57
+ - - ~>
46
58
  - !ruby/object:Gem::Version
47
- version: '1.5'
59
+ version: '2.2'
48
60
  type: :development
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
- - - "~>"
64
+ - - ~>
53
65
  - !ruby/object:Gem::Version
54
- version: '1.5'
66
+ version: '2.2'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: bundler
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - "~>"
71
+ - - ~>
60
72
  - !ruby/object:Gem::Version
61
73
  version: '1.13'
62
74
  type: :development
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
66
- - - "~>"
78
+ - - ~>
67
79
  - !ruby/object:Gem::Version
68
80
  version: '1.13'
81
+ - !ruby/object:Gem::Dependency
82
+ name: database_cleaner
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 1.4.1
88
+ - - <
89
+ - !ruby/object:Gem::Version
90
+ version: '1.6'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: 1.4.1
98
+ - - <
99
+ - !ruby/object:Gem::Version
100
+ version: '1.6'
69
101
  - !ruby/object:Gem::Dependency
70
102
  name: pg
71
103
  requirement: !ruby/object:Gem::Requirement
@@ -84,140 +116,146 @@ dependencies:
84
116
  name: pry-rescue
85
117
  requirement: !ruby/object:Gem::Requirement
86
118
  requirements:
87
- - - "~>"
119
+ - - ~>
88
120
  - !ruby/object:Gem::Version
89
121
  version: '1.4'
90
122
  type: :development
91
123
  prerelease: false
92
124
  version_requirements: !ruby/object:Gem::Requirement
93
125
  requirements:
94
- - - "~>"
126
+ - - ~>
95
127
  - !ruby/object:Gem::Version
96
128
  version: '1.4'
97
129
  - !ruby/object:Gem::Dependency
98
130
  name: pry-stack_explorer
99
131
  requirement: !ruby/object:Gem::Requirement
100
132
  requirements:
101
- - - "~>"
133
+ - - ~>
102
134
  - !ruby/object:Gem::Version
103
135
  version: 0.4.9
104
136
  type: :development
105
137
  prerelease: false
106
138
  version_requirements: !ruby/object:Gem::Requirement
107
139
  requirements:
108
- - - "~>"
140
+ - - ~>
109
141
  - !ruby/object:Gem::Version
110
142
  version: 0.4.9
111
143
  - !ruby/object:Gem::Dependency
112
144
  name: rake
113
145
  requirement: !ruby/object:Gem::Requirement
114
146
  requirements:
115
- - - "~>"
147
+ - - ~>
116
148
  - !ruby/object:Gem::Version
117
149
  version: '10.0'
118
150
  type: :development
119
151
  prerelease: false
120
152
  version_requirements: !ruby/object:Gem::Requirement
121
153
  requirements:
122
- - - "~>"
154
+ - - ~>
123
155
  - !ruby/object:Gem::Version
124
156
  version: '10.0'
125
157
  - !ruby/object:Gem::Dependency
126
158
  name: redcarpet
127
159
  requirement: !ruby/object:Gem::Requirement
128
160
  requirements:
129
- - - "~>"
161
+ - - ~>
130
162
  - !ruby/object:Gem::Version
131
163
  version: '3.3'
132
164
  type: :development
133
165
  prerelease: false
134
166
  version_requirements: !ruby/object:Gem::Requirement
135
167
  requirements:
136
- - - "~>"
168
+ - - ~>
137
169
  - !ruby/object:Gem::Version
138
170
  version: '3.3'
139
171
  - !ruby/object:Gem::Dependency
140
172
  name: rspec
141
173
  requirement: !ruby/object:Gem::Requirement
142
174
  requirements:
143
- - - "~>"
175
+ - - ~>
144
176
  - !ruby/object:Gem::Version
145
177
  version: '3.5'
146
178
  type: :development
147
179
  prerelease: false
148
180
  version_requirements: !ruby/object:Gem::Requirement
149
181
  requirements:
150
- - - "~>"
182
+ - - ~>
151
183
  - !ruby/object:Gem::Version
152
184
  version: '3.5'
153
185
  - !ruby/object:Gem::Dependency
154
186
  name: rubocop
155
187
  requirement: !ruby/object:Gem::Requirement
156
188
  requirements:
157
- - - '='
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: 0.41.2
192
+ - - <=
158
193
  - !ruby/object:Gem::Version
159
194
  version: 0.46.0
160
195
  type: :development
161
196
  prerelease: false
162
197
  version_requirements: !ruby/object:Gem::Requirement
163
198
  requirements:
164
- - - '='
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: 0.41.2
202
+ - - <=
165
203
  - !ruby/object:Gem::Version
166
204
  version: 0.46.0
167
205
  - !ruby/object:Gem::Dependency
168
206
  name: ruby-prof
169
207
  requirement: !ruby/object:Gem::Requirement
170
208
  requirements:
171
- - - "~>"
209
+ - - ~>
172
210
  - !ruby/object:Gem::Version
173
211
  version: '0.16'
174
212
  type: :development
175
213
  prerelease: false
176
214
  version_requirements: !ruby/object:Gem::Requirement
177
215
  requirements:
178
- - - "~>"
216
+ - - ~>
179
217
  - !ruby/object:Gem::Version
180
218
  version: '0.16'
181
219
  - !ruby/object:Gem::Dependency
182
220
  name: simplecov
183
221
  requirement: !ruby/object:Gem::Requirement
184
222
  requirements:
185
- - - "~>"
223
+ - - ~>
186
224
  - !ruby/object:Gem::Version
187
225
  version: '0.12'
188
226
  type: :development
189
227
  prerelease: false
190
228
  version_requirements: !ruby/object:Gem::Requirement
191
229
  requirements:
192
- - - "~>"
230
+ - - ~>
193
231
  - !ruby/object:Gem::Version
194
232
  version: '0.12'
195
233
  - !ruby/object:Gem::Dependency
196
234
  name: timecop
197
235
  requirement: !ruby/object:Gem::Requirement
198
236
  requirements:
199
- - - "~>"
237
+ - - ~>
200
238
  - !ruby/object:Gem::Version
201
239
  version: '0.8'
202
240
  type: :development
203
241
  prerelease: false
204
242
  version_requirements: !ruby/object:Gem::Requirement
205
243
  requirements:
206
- - - "~>"
244
+ - - ~>
207
245
  - !ruby/object:Gem::Version
208
246
  version: '0.8'
209
247
  - !ruby/object:Gem::Dependency
210
248
  name: yard
211
249
  requirement: !ruby/object:Gem::Requirement
212
250
  requirements:
213
- - - "~>"
251
+ - - ~>
214
252
  - !ruby/object:Gem::Version
215
253
  version: '0.9'
216
254
  type: :development
217
255
  prerelease: false
218
256
  version_requirements: !ruby/object:Gem::Requirement
219
257
  requirements:
220
- - - "~>"
258
+ - - ~>
221
259
  - !ruby/object:Gem::Version
222
260
  version: '0.9'
223
261
  description: Batch updating for ActiveRecord models
@@ -227,21 +265,29 @@ executables: []
227
265
  extensions: []
228
266
  extra_rdoc_files: []
229
267
  files:
230
- - ".gitignore"
231
- - ".rspec"
232
- - ".rubocop.yml"
233
- - ".ruby-gemset"
234
- - ".ruby-version"
235
- - ".travis.yml"
268
+ - .gitignore
269
+ - .rspec
270
+ - .rubocop.yml
271
+ - .ruby-gemset
272
+ - .ruby-version
273
+ - .travis.yml
274
+ - Appraisals
236
275
  - Gemfile
237
276
  - README.md
238
277
  - Rakefile
239
278
  - activerecord-update.gemspec
279
+ - before_script2.3.sh
240
280
  - bin/console
241
281
  - bin/setup
282
+ - gemfiles/2.3.gemfile
283
+ - gemfiles/4.1.gemfile
284
+ - gemfiles/activerecord_2.3.gemfile.lock
285
+ - gemfiles/activerecord_4.1.gemfile.lock
242
286
  - lib/activerecord-update.rb
243
287
  - lib/activerecord-update/active_record/base.rb
244
288
  - lib/activerecord-update/active_record/update/result.rb
289
+ - lib/activerecord-update/core_ext/hash/slice.rb
290
+ - lib/activerecord-update/core_ext/string/strip.rb
245
291
  - lib/activerecord-update/version.rb
246
292
  homepage: https://github.com/jacob-carlborg/activerecord-update
247
293
  licenses: []
@@ -253,17 +299,17 @@ require_paths:
253
299
  - lib
254
300
  required_ruby_version: !ruby/object:Gem::Requirement
255
301
  requirements:
256
- - - ">="
302
+ - - ! '>='
257
303
  - !ruby/object:Gem::Version
258
- version: '0'
304
+ version: 1.9.3
259
305
  required_rubygems_version: !ruby/object:Gem::Requirement
260
306
  requirements:
261
- - - ">="
307
+ - - ! '>='
262
308
  - !ruby/object:Gem::Version
263
309
  version: '0'
264
310
  requirements: []
265
311
  rubyforge_project:
266
- rubygems_version: 2.2.2
312
+ rubygems_version: 2.1.11
267
313
  signing_key:
268
314
  specification_version: 4
269
315
  summary: Batch updating for ActiveRecord models