goldiloader 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5439cf46ad38cb53ae77b4b82480215d59ef665b
4
- data.tar.gz: ef928602e0934eb6a372fb0476e9f807af0c4713
3
+ metadata.gz: 1fcd566afe07738acd5ebf7a634c40c310314ba3
4
+ data.tar.gz: d7db565dac03de0ef17bd44f372a0b861c9663c0
5
5
  SHA512:
6
- metadata.gz: 6f621c060cec10acadf3beca30afbc80442b22734873acb32c3430451f0b83a0d137760ad908ac56f6e74abde5bfad02ba9d994b4e5aa9b4c2425e29f8a905ce
7
- data.tar.gz: 43e6573c8978dd21fced0f8848421a2ec2eaeeffdebda8b88625557477044a6a03deed854fcdedfdeaef8b3c978c5565aa597f37e0367485cb3de29c7e6639fe
6
+ metadata.gz: eeae5d642ddd6e2b7a613045f328b92c327840ff4f7f061ab4c6a51647d0c2a47d999016628b0141b4943759b9185c623df9f41f97011d2b7033774130db504a
7
+ data.tar.gz: e9afd2b2bb91fdcfd821ce2701f1af6e13a0eea244b384f67179fc90ffb53eb8897aa0806941943bf110f02fe85c07bd083926c715297952fdef6054b7f2128d
data/.gitignore CHANGED
@@ -18,3 +18,4 @@ spec/reports
18
18
  test/tmp
19
19
  test/version_tmp
20
20
  tmp
21
+ .ruby-version
data/.travis.yml CHANGED
@@ -1,20 +1,28 @@
1
1
  language: ruby
2
+ sudo: false
2
3
  env:
3
- - RAILS_VERSION="~> 3.2.21" JRUBY_OPTS="$JRUBY_OPTS --debug"
4
+ - RAILS_VERSION="~> 3.2.22" JRUBY_OPTS="$JRUBY_OPTS --debug"
4
5
  - RAILS_VERSION="~> 4.0.13" JRUBY_OPTS="$JRUBY_OPTS --debug"
5
- - RAILS_VERSION="~> 4.1.9" JRUBY_OPTS="$JRUBY_OPTS --debug"
6
- - RAILS_VERSION="~> 4.2.0" JRUBY_OPTS="$JRUBY_OPTS --debug"
6
+ - RAILS_VERSION="~> 4.1.14" JRUBY_OPTS="$JRUBY_OPTS --debug"
7
+ - RAILS_VERSION="~> 4.2.5" JRUBY_OPTS="$JRUBY_OPTS --debug"
8
+ - RAILS_VERSION="~> 5.0.0.beta3" JRUBY_OPTS="$JRUBY_OPTS --debug"
7
9
  rvm:
8
10
  - 1.9.3
9
11
  - 2.0.0
10
- - 2.1.0
11
- - 2.2.0
12
+ - 2.1.6
13
+ - 2.2.2
14
+ - 2.3.0
12
15
  - jruby-19mode
16
+ - jruby-9.0.5.0
13
17
  matrix:
14
18
  exclude:
15
- # See https://github.com/salsify/goldiloader/issues/22
19
+ - rvm: 1.9.3
20
+ env: RAILS_VERSION="~> 5.0.0.beta3" JRUBY_OPTS="$JRUBY_OPTS --debug"
21
+ - rvm: 2.0.0
22
+ env: RAILS_VERSION="~> 5.0.0.beta3" JRUBY_OPTS="$JRUBY_OPTS --debug"
23
+ - rvm: 2.1.6
24
+ env: RAILS_VERSION="~> 5.0.0.beta3" JRUBY_OPTS="$JRUBY_OPTS --debug"
16
25
  - rvm: jruby-19mode
17
- env: RAILS_VERSION="~> 4.2.0" JRUBY_OPTS="$JRUBY_OPTS --debug"
18
- # See https://github.com/rails/rails/pull/18306
19
- - rvm: 2.2.0
20
- env: RAILS_VERSION="~> 3.2.21" JRUBY_OPTS="$JRUBY_OPTS --debug"
26
+ env: RAILS_VERSION="~> 5.0.0.beta3" JRUBY_OPTS="$JRUBY_OPTS --debug"
27
+ - rvm: jruby-9.0.5.0
28
+ env: RAILS_VERSION="~> 5.0.0.beta3" JRUBY_OPTS="$JRUBY_OPTS --debug"
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ### 0.0.10 (unreleased)
4
+ * Fix [issue 13](https://github.com/salsify/goldiloader/issues/13) - Eager load associations with unscope
5
+ in Rails 4.1.9+ now that the underlying Rails bug has been fixed.
6
+ * Fix [issue 11](https://github.com/salsify/goldiloader/issues/11) - Eager load associations with joins in
7
+ Rails 4.2+ now that the underlying Rails bug has been fixed.
8
+ * Initial support for Rails 5. There are no known issues but see
9
+ [issue 27](https://github.com/salsify/goldiloader/issues/27) for remaining tasks.
10
+ * MRI 2.3.0 support.
11
+
3
12
  ### 0.0.9
4
13
  * Merge [pull request](https://github.com/salsify/goldiloader/pull/24) - Optimization: Cache compatibility
5
14
  checks. **Thanks Jonathan Calvert!**
data/README.md CHANGED
@@ -162,15 +162,14 @@ Associations with any of the following options cannot be eager loaded:
162
162
  * `finder_sql`
163
163
  * `group` (due to a Rails bug)
164
164
  * `from` (due to a Rails bug)
165
- * `unscope` (due to a Rails bug)
166
- * `joins` (due to a Rails bug)
165
+ * `joins` (only Rails 4.0/4.1 - due to a Rails bug)
167
166
  * `uniq` (only Rails 3.2 - due to a Rails bug)
168
167
 
169
168
  Goldiloader detects associations with any of these options and disables automatic eager loading on them.
170
169
 
171
170
  ## Status
172
171
 
173
- This gem is tested with Rails 3.2, 4.0, 4.1, and 4.2 using MRI 1.9.3, 2.0.0, 2.1.0 and JRuby in 1.9 mode.
172
+ This gem is tested with Rails 3.2, 4.0, 4.1, 4.2, and 5.0 using MRI 1.9.3, 2.0, 2.1, 2.2, 2.3, JRuby 1.7 in 1.9 mode, and JRuby 9000.
174
173
 
175
174
  Let us know if you find any issues or have any other feedback.
176
175
 
data/goldiloader.gemspec CHANGED
@@ -17,14 +17,16 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = Dir.glob('spec/**/*')
18
18
  spec.require_paths = ['lib']
19
19
 
20
- spec.add_dependency 'activerecord', ENV.fetch('RAILS_VERSION', ['>= 3.2', '< 4.3'])
21
- spec.add_dependency 'activesupport', ENV.fetch('RAILS_VERSION', ['>= 3.2', '< 4.3'])
20
+ spec.add_dependency 'activerecord', ENV.fetch('RAILS_VERSION', ['>= 3.2', '< 5.1'])
21
+ spec.add_dependency 'activesupport', ENV.fetch('RAILS_VERSION', ['>= 3.2', '< 5.1'])
22
22
 
23
23
  spec.add_development_dependency 'coveralls'
24
24
  spec.add_development_dependency 'database_cleaner', '>= 1.2'
25
25
  spec.add_development_dependency 'rake'
26
26
  spec.add_development_dependency 'rspec', '~> 2'
27
27
  spec.add_development_dependency 'simplecov', '~> 0.7.1'
28
+ # mime-type 3 requires Ruby >= 2.0
29
+ spec.add_development_dependency 'mime-types', '~> 2'
28
30
 
29
31
  if RUBY_PLATFORM == 'java'
30
32
  spec.add_development_dependency 'jdbc-sqlite3'
@@ -36,7 +36,7 @@ ActiveRecord::Relation.class_eval do
36
36
  models
37
37
  end
38
38
 
39
- alias_method_chain :exec_queries, :auto_include
39
+ Goldiloader::Compatibility.alias_method_chain self, :exec_queries, :auto_include
40
40
  end
41
41
 
42
42
  ActiveRecord::Associations::Association.class_eval do
@@ -64,10 +64,8 @@ ActiveRecord::Associations::Association.class_eval do
64
64
  !association_info.group? &&
65
65
  !association_info.from? &&
66
66
  !association_info.finder_sql? &&
67
- # Joins not properly eager loaded - See https://github.com/salsify/goldiloader/issues/11
68
- !association_info.joins? &&
69
- # Unscope not properly eager loaded - See https://github.com/salsify/goldiloader/issues/13
70
- !association_info.unscope? &&
67
+ (Goldiloader::Compatibility.unscoped_eager_loadable? || !association_info.unscope?) &&
68
+ (Goldiloader::Compatibility.joins_eager_loadable? || !association_info.joins?) &&
71
69
  !association_info.instance_dependent?
72
70
  end
73
71
 
@@ -92,7 +90,7 @@ ActiveRecord::Associations::SingularAssociation.class_eval do
92
90
  load_with_auto_include(:find_target, *args)
93
91
  end
94
92
 
95
- alias_method_chain :find_target, :auto_include
93
+ Goldiloader::Compatibility.alias_method_chain self, :find_target, :auto_include
96
94
  end
97
95
 
98
96
  ActiveRecord::Associations::CollectionAssociation.class_eval do
@@ -107,7 +105,7 @@ ActiveRecord::Associations::CollectionAssociation.class_eval do
107
105
  send("#{aliased_target}_without_fully_load#{punctuation}", *args, &block)
108
106
  end
109
107
 
110
- alias_method_chain method, :fully_load
108
+ Goldiloader::Compatibility.alias_method_chain self, method, :fully_load
111
109
  end
112
110
 
113
111
  private
@@ -116,7 +114,7 @@ ActiveRecord::Associations::CollectionAssociation.class_eval do
116
114
  load_with_auto_include(:load_target, *args)
117
115
  end
118
116
 
119
- alias_method_chain :load_target, :auto_include
117
+ Goldiloader::Compatibility.alias_method_chain self, :load_target, :auto_include
120
118
 
121
119
  end
122
120
 
@@ -28,7 +28,11 @@ module Goldiloader
28
28
  end
29
29
 
30
30
  def from?
31
- association_scope && association_scope.from_value.present?
31
+ if ActiveRecord::VERSION::MAJOR >= 5
32
+ association_scope && association_scope.from_clause.present?
33
+ else
34
+ association_scope && association_scope.from_value.present?
35
+ end
32
36
  end
33
37
 
34
38
  def group?
@@ -36,8 +40,14 @@ module Goldiloader
36
40
  end
37
41
 
38
42
  def joins?
43
+ return false unless association_scope
44
+
45
+ num_joins = association_scope.joins_values.size
46
+ if ActiveRecord::VERSION::MAJOR >= 5
47
+ num_joins += association_scope.left_joins_values.size + association_scope.left_outer_joins.size
48
+ end
39
49
  # Yuck - Through associations will always have a join for *each* 'through' table
40
- association_scope && (association_scope.joins_values.size - num_through_joins) > 0
50
+ num_joins - num_through_joins > 0
41
51
  end
42
52
 
43
53
  def uniq?
@@ -4,10 +4,23 @@ module Goldiloader
4
4
  module AssociationOptions
5
5
  extend self
6
6
 
7
- OPTIONS = [:auto_include, :fully_load]
7
+ OPTIONS = [:auto_include, :fully_load].freeze
8
+
9
+ # This is only used in Rails 5+
10
+ module AssociationBuilderExtension
11
+ def self.build(model, reflection)
12
+ # We have no callbacks to register
13
+ end
14
+
15
+ def self.valid_options
16
+ OPTIONS
17
+ end
18
+ end
8
19
 
9
20
  def register
10
- if ::ActiveRecord::VERSION::MAJOR >= 4
21
+ if ::ActiveRecord::VERSION::MAJOR >= 5
22
+ ActiveRecord::Associations::Builder::Association.extensions << AssociationBuilderExtension
23
+ elsif ::ActiveRecord::VERSION::MAJOR >= 4
11
24
  ActiveRecord::Associations::Builder::Association.valid_options.concat(OPTIONS)
12
25
  else
13
26
  # Each subclass of CollectionAssociation will have its own copy of valid_options so we need
@@ -3,9 +3,12 @@
3
3
  module Goldiloader
4
4
  module Compatibility
5
5
 
6
- MASS_ASSIGNMENT_SECURITY = ::ActiveRecord::VERSION::MAJOR < 4 || defined?(::ActiveRecord::MassAssignmentSecurity)
7
- ASSOCIATION_FINDER_SQL = ::Gem::Version.new(::ActiveRecord::VERSION::STRING) < ::Gem::Version.new('4.1')
8
- UNSCOPE_QUERY_METHOD = ::Gem::Version.new(::ActiveRecord::VERSION::STRING) >= ::Gem::Version.new('4.1')
6
+ ACTIVE_RECORD_VERSION = ::Gem::Version.new(::ActiveRecord::VERSION::STRING)
7
+ MASS_ASSIGNMENT_SECURITY = ACTIVE_RECORD_VERSION < ::Gem::Version.new('4') || defined?(::ActiveRecord::MassAssignmentSecurity)
8
+ ASSOCIATION_FINDER_SQL = ACTIVE_RECORD_VERSION < ::Gem::Version.new('4.1')
9
+ UNSCOPE_QUERY_METHOD = ACTIVE_RECORD_VERSION >= ::Gem::Version.new('4.1')
10
+ JOINS_EAGER_LOADABLE = ACTIVE_RECORD_VERSION >= ::Gem::Version.new('4.2')
11
+ UNSCOPED_EAGER_LOADABLE = ACTIVE_RECORD_VERSION >= ::Gem::Version.new('4.1.9')
9
12
 
10
13
  def self.mass_assignment_security_enabled?
11
14
  MASS_ASSIGNMENT_SECURITY
@@ -18,5 +21,41 @@ module Goldiloader
18
21
  def self.unscope_query_method_enabled?
19
22
  UNSCOPE_QUERY_METHOD
20
23
  end
24
+
25
+ def self.joins_eager_loadable?
26
+ # Associations with joins were not eager loadable prior to Rails 4.2 due to
27
+ # https://github.com/rails/rails/pull/17678
28
+ JOINS_EAGER_LOADABLE
29
+ end
30
+
31
+ def self.unscoped_eager_loadable?
32
+ # Unscoped associations weren't properly eager loaded until after Rails 4.1.9.
33
+ # See https://github.com/rails/rails/issues/11036.
34
+ UNSCOPED_EAGER_LOADABLE
35
+ end
36
+
37
+ # Copied from Rails since it is deprecated in Rails 5.0. Switch to using
38
+ # Module#prepend when we drop Ruby 1.9 support.
39
+ def self.alias_method_chain(klass, target, feature)
40
+ # Strip out punctuation on predicates, bang or writer methods since
41
+ # e.g. target?_without_feature is not a valid method name.
42
+ aliased_target, punctuation = target.to_s.sub(/([?!=])$/, ''), $1
43
+ yield(aliased_target, punctuation) if block_given?
44
+
45
+ with_method = "#{aliased_target}_with_#{feature}#{punctuation}"
46
+ without_method = "#{aliased_target}_without_#{feature}#{punctuation}"
47
+
48
+ klass.send(:alias_method, without_method, target)
49
+ klass.send(:alias_method, target, with_method)
50
+
51
+ case
52
+ when klass.public_method_defined?(without_method)
53
+ klass.send(:public, target)
54
+ when klass.protected_method_defined?(without_method)
55
+ klass.send(:protected, target)
56
+ when klass.private_method_defined?(without_method)
57
+ klass.send(:private, target)
58
+ end
59
+ end
21
60
  end
22
61
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Goldiloader
4
- VERSION = '0.0.9'
4
+ VERSION = '0.0.10'.freeze
5
5
  end
@@ -300,6 +300,14 @@ describe Goldiloader do
300
300
  end
301
301
  end
302
302
 
303
+ shared_examples "it auto eager loads the association" do |association_name|
304
+ specify do
305
+ blogs.drop(1).each do |blog|
306
+ expect(blog.association(association_name)).to be_loaded
307
+ end
308
+ end
309
+ end
310
+
303
311
  context "associations with a limit" do
304
312
  before do
305
313
  blogs.first.limited_posts.to_a
@@ -371,10 +379,15 @@ describe Goldiloader do
371
379
  end
372
380
 
373
381
  it "applies the join correctly" do
374
- expect(blogs.first.posts_ordered_by_author.to_a.size).to eq 3
382
+ sorted_post_authors = blogs.first.posts.map(&:author).map(&:name).sort
383
+ expect(blogs.first.posts_ordered_by_author.map(&:author).map(&:name)).to eq sorted_post_authors
375
384
  end
376
385
 
377
- it_behaves_like "it doesn't auto eager the association", :posts_ordered_by_author
386
+ if Goldiloader::Compatibility.joins_eager_loadable?
387
+ it_behaves_like "it auto eager loads the association", :posts_ordered_by_author
388
+ else
389
+ it_behaves_like "it doesn't auto eager the association", :posts_ordered_by_author
390
+ end
378
391
  end
379
392
 
380
393
  context "associations with a join in a has_many_through" do
@@ -383,10 +396,15 @@ describe Goldiloader do
383
396
  end
384
397
 
385
398
  it "applies the join correctly" do
386
- expect(blogs.first.authors_with_join.to_a.size).to eq 3
399
+ sorted_post_cities = blogs.first.posts.map(&:author).map(&:address).map(&:city).sort
400
+ expect(blogs.first.posts_ordered_by_author.map(&:author).map(&:address).map(&:city)).to eq sorted_post_cities
387
401
  end
388
402
 
389
- it_behaves_like "it doesn't auto eager the association", :authors_with_join
403
+ if Goldiloader::Compatibility.joins_eager_loadable?
404
+ it_behaves_like "it auto eager loads the association", :authors_with_join
405
+ else
406
+ it_behaves_like "it doesn't auto eager the association", :authors_with_join
407
+ end
390
408
  end
391
409
  end
392
410
 
@@ -405,9 +423,9 @@ describe Goldiloader do
405
423
  expect(authors.first.scoped_address_with_default_scope_remove).to be_present
406
424
  end
407
425
 
408
- it "doesn't auto eager the association" do
426
+ it "auto eager loads the association" do
409
427
  authors.drop(1).each do |author|
410
- expect(author.association(:scoped_address_with_default_scope_remove)).to_not be_loaded
428
+ expect(author.association(:scoped_address_with_default_scope_remove)).to be_loaded
411
429
  end
412
430
  end
413
431
  end
metadata CHANGED
@@ -1,139 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goldiloader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Turkel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-14 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4.3'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
22
+ version: '5.1'
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - ">="
28
26
  - !ruby/object:Gem::Version
29
27
  version: '3.2'
30
28
  - - "<"
31
29
  - !ruby/object:Gem::Version
32
- version: '4.3'
30
+ version: '5.1'
31
+ prerelease: false
32
+ type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
- requirement: !ruby/object:Gem::Requirement
35
+ version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '3.2'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '4.3'
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
42
+ version: '5.1'
43
+ requirement: !ruby/object:Gem::Requirement
46
44
  requirements:
47
45
  - - ">="
48
46
  - !ruby/object:Gem::Version
49
47
  version: '3.2'
50
48
  - - "<"
51
49
  - !ruby/object:Gem::Version
52
- version: '4.3'
50
+ version: '5.1'
51
+ prerelease: false
52
+ type: :runtime
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: coveralls
55
- requirement: !ruby/object:Gem::Requirement
55
+ version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
- type: :development
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
60
+ requirement: !ruby/object:Gem::Requirement
63
61
  requirements:
64
62
  - - ">="
65
63
  - !ruby/object:Gem::Version
66
64
  version: '0'
65
+ prerelease: false
66
+ type: :development
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: database_cleaner
69
- requirement: !ruby/object:Gem::Requirement
69
+ version_requirements: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
73
  version: '1.2'
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
74
+ requirement: !ruby/object:Gem::Requirement
77
75
  requirements:
78
76
  - - ">="
79
77
  - !ruby/object:Gem::Version
80
78
  version: '1.2'
79
+ prerelease: false
80
+ type: :development
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rake
83
- requirement: !ruby/object:Gem::Requirement
83
+ version_requirements: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
- type: :development
89
- prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
88
+ requirement: !ruby/object:Gem::Requirement
91
89
  requirements:
92
90
  - - ">="
93
91
  - !ruby/object:Gem::Version
94
92
  version: '0'
93
+ prerelease: false
94
+ type: :development
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: rspec
97
- requirement: !ruby/object:Gem::Requirement
97
+ version_requirements: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
101
  version: '2'
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
102
+ requirement: !ruby/object:Gem::Requirement
105
103
  requirements:
106
104
  - - "~>"
107
105
  - !ruby/object:Gem::Version
108
106
  version: '2'
107
+ prerelease: false
108
+ type: :development
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: simplecov
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: 0.7.1
111
116
  requirement: !ruby/object:Gem::Requirement
112
117
  requirements:
113
118
  - - "~>"
114
119
  - !ruby/object:Gem::Version
115
120
  version: 0.7.1
116
- type: :development
117
121
  prerelease: false
122
+ type: :development
123
+ - !ruby/object:Gem::Dependency
124
+ name: mime-types
118
125
  version_requirements: !ruby/object:Gem::Requirement
119
126
  requirements:
120
127
  - - "~>"
121
128
  - !ruby/object:Gem::Version
122
- version: 0.7.1
129
+ version: '2'
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '2'
135
+ prerelease: false
136
+ type: :development
123
137
  - !ruby/object:Gem::Dependency
124
- name: sqlite3
138
+ name: jdbc-sqlite3
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
125
144
  requirement: !ruby/object:Gem::Requirement
126
145
  requirements:
127
146
  - - ">="
128
147
  - !ruby/object:Gem::Version
129
148
  version: '0'
130
- type: :development
131
149
  prerelease: false
150
+ type: :development
151
+ - !ruby/object:Gem::Dependency
152
+ name: activerecord-jdbcsqlite3-adapter
132
153
  version_requirements: !ruby/object:Gem::Requirement
133
154
  requirements:
134
155
  - - ">="
135
156
  - !ruby/object:Gem::Version
136
157
  version: '0'
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ prerelease: false
164
+ type: :development
137
165
  description: Automatically eager loads Rails associations as associations are traversed
138
166
  email:
139
167
  - jturkel@salsify.com
@@ -167,7 +195,7 @@ homepage: https://github.com/salsify/goldiloader
167
195
  licenses:
168
196
  - MIT
169
197
  metadata: {}
170
- post_install_message:
198
+ post_install_message:
171
199
  rdoc_options: []
172
200
  require_paths:
173
201
  - lib
@@ -182,14 +210,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
210
  - !ruby/object:Gem::Version
183
211
  version: '0'
184
212
  requirements: []
185
- rubyforge_project:
186
- rubygems_version: 2.4.6
187
- signing_key:
213
+ rubyforge_project:
214
+ rubygems_version: 2.4.8
215
+ signing_key:
188
216
  specification_version: 4
189
217
  summary: Automatic Rails association eager loading
190
218
  test_files:
219
+ - spec/spec_helper.rb
191
220
  - spec/db/database.yml
192
221
  - spec/db/schema.rb
193
222
  - spec/goldiloader/auto_include_context_spec.rb
194
223
  - spec/goldiloader/goldiloader_spec.rb
195
- - spec/spec_helper.rb