activerecord-update 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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