polyamorous 1.3.3 → 2.3.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.
Files changed (47) hide show
  1. checksums.yaml +5 -5
  2. data/lib/polyamorous.rb +13 -40
  3. data/lib/polyamorous/activerecord_5.1_ruby_2/join_association.rb +1 -9
  4. data/lib/polyamorous/activerecord_5.1_ruby_2/join_dependency.rb +2 -20
  5. data/lib/polyamorous/{activerecord_5.2_ruby_2 → activerecord_5.2.0_ruby_2}/join_association.rb +2 -10
  6. data/lib/polyamorous/{activerecord_5.2_ruby_2 → activerecord_5.2.0_ruby_2}/join_dependency.rb +3 -21
  7. data/lib/polyamorous/activerecord_5.2.0_ruby_2/reflection.rb +12 -0
  8. data/lib/polyamorous/activerecord_5.2.1_ruby_2/join_association.rb +22 -0
  9. data/lib/polyamorous/activerecord_5.2.1_ruby_2/join_dependency.rb +81 -0
  10. data/lib/polyamorous/activerecord_5.2.1_ruby_2/reflection.rb +2 -0
  11. data/lib/polyamorous/activerecord_6.0_ruby_2/join_association.rb +2 -0
  12. data/lib/polyamorous/activerecord_6.0_ruby_2/join_dependency.rb +81 -0
  13. data/lib/polyamorous/activerecord_6.0_ruby_2/reflection.rb +2 -0
  14. data/lib/polyamorous/activerecord_6.1_ruby_2/join_association.rb +2 -0
  15. data/lib/polyamorous/activerecord_6.1_ruby_2/join_dependency.rb +2 -0
  16. data/lib/polyamorous/activerecord_6.1_ruby_2/reflection.rb +2 -0
  17. data/lib/polyamorous/version.rb +1 -1
  18. data/polyamorous.gemspec +2 -4
  19. metadata +19 -49
  20. data/.gitignore +0 -6
  21. data/.travis.yml +0 -59
  22. data/Gemfile +0 -33
  23. data/LICENSE +0 -20
  24. data/README.md +0 -21
  25. data/Rakefile +0 -17
  26. data/lib/polyamorous/activerecord_3_and_4.0_ruby_1.9/join_association.rb +0 -76
  27. data/lib/polyamorous/activerecord_3_and_4.0_ruby_1.9/join_dependency.rb +0 -96
  28. data/lib/polyamorous/activerecord_4.1_ruby_1.9/join_association.rb +0 -2
  29. data/lib/polyamorous/activerecord_4.1_ruby_1.9/join_dependency.rb +0 -4
  30. data/lib/polyamorous/activerecord_4.1_ruby_2/join_association.rb +0 -2
  31. data/lib/polyamorous/activerecord_4.1_ruby_2/join_dependency.rb +0 -3
  32. data/lib/polyamorous/activerecord_4.1_ruby_2/make_polyamorous_inner_joins.rb +0 -14
  33. data/lib/polyamorous/activerecord_4.2_ruby_1.9/join_association.rb +0 -46
  34. data/lib/polyamorous/activerecord_4.2_ruby_1.9/join_dependency.rb +0 -87
  35. data/lib/polyamorous/activerecord_4.2_ruby_2/join_association.rb +0 -2
  36. data/lib/polyamorous/activerecord_4.2_ruby_2/join_dependency.rb +0 -24
  37. data/spec/blueprints/articles.rb +0 -5
  38. data/spec/blueprints/comments.rb +0 -5
  39. data/spec/blueprints/notes.rb +0 -3
  40. data/spec/blueprints/people.rb +0 -4
  41. data/spec/blueprints/tags.rb +0 -3
  42. data/spec/helpers/polyamorous_helper.rb +0 -26
  43. data/spec/polyamorous/join_association_spec.rb +0 -54
  44. data/spec/polyamorous/join_dependency_spec.rb +0 -102
  45. data/spec/polyamorous/join_spec.rb +0 -19
  46. data/spec/spec_helper.rb +0 -43
  47. data/spec/support/schema.rb +0 -98
@@ -0,0 +1,2 @@
1
+ # active_record_6.1_ruby_2/join_dependency.rb
2
+ require 'polyamorous/activerecord_6.0_ruby_2/join_dependency'
@@ -0,0 +1,2 @@
1
+ # active_record_6.1_ruby_2/reflection.rb
2
+ require 'polyamorous/activerecord_6.0_ruby_2/reflection'
@@ -1,3 +1,3 @@
1
1
  module Polyamorous
2
- VERSION = '1.3.3'
2
+ VERSION = '2.3.0'
3
3
  end
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.version = Polyamorous::VERSION
8
8
  s.authors = ["Ernie Miller", "Ryan Bigg", "Jon Atack", "Xiang Li"]
9
9
  s.email = ["ernie@erniemiller.org", "radarlistener@gmail.com", "jonnyatack@gmail.com", "bigxiang@gmail.com"]
10
- s.homepage = "https://github.com/activerecord-hackery/polyamorous"
10
+ s.homepage = "https://github.com/activerecord-hackery/ransack/tree/master/polyamorous"
11
11
  s.license = "MIT"
12
12
  s.summary = %q{
13
13
  Loves/is loved by polymorphic belongs_to associations, Ransack, Squeel, MetaSearch...
@@ -18,9 +18,7 @@ Gem::Specification.new do |s|
18
18
  associations.
19
19
  }
20
20
 
21
- s.rubyforge_project = "polyamorous"
22
-
23
- s.add_dependency 'activerecord', '>= 3.0'
21
+ s.add_dependency 'activerecord', '>= 5.0'
24
22
  s.add_development_dependency 'rspec', '~> 3'
25
23
  s.add_development_dependency 'machinist', '~> 1.0.6'
26
24
  s.add_development_dependency 'faker', '~> 1.6.5'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyamorous
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernie Miller
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2018-01-23 00:00:00.000000000 Z
14
+ date: 2019-08-18 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activerecord
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: '3.0'
22
+ version: '5.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '3.0'
29
+ version: '5.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rspec
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -95,47 +95,29 @@ executables: []
95
95
  extensions: []
96
96
  extra_rdoc_files: []
97
97
  files:
98
- - ".gitignore"
99
- - ".travis.yml"
100
- - Gemfile
101
- - LICENSE
102
- - README.md
103
- - Rakefile
104
98
  - lib/polyamorous.rb
105
- - lib/polyamorous/activerecord_3_and_4.0_ruby_1.9/join_association.rb
106
- - lib/polyamorous/activerecord_3_and_4.0_ruby_1.9/join_dependency.rb
107
- - lib/polyamorous/activerecord_4.1_ruby_1.9/join_association.rb
108
- - lib/polyamorous/activerecord_4.1_ruby_1.9/join_dependency.rb
109
- - lib/polyamorous/activerecord_4.1_ruby_2/join_association.rb
110
- - lib/polyamorous/activerecord_4.1_ruby_2/join_dependency.rb
111
- - lib/polyamorous/activerecord_4.1_ruby_2/make_polyamorous_inner_joins.rb
112
- - lib/polyamorous/activerecord_4.2_ruby_1.9/join_association.rb
113
- - lib/polyamorous/activerecord_4.2_ruby_1.9/join_dependency.rb
114
- - lib/polyamorous/activerecord_4.2_ruby_2/join_association.rb
115
- - lib/polyamorous/activerecord_4.2_ruby_2/join_dependency.rb
116
99
  - lib/polyamorous/activerecord_5.0_ruby_2/join_association.rb
117
100
  - lib/polyamorous/activerecord_5.0_ruby_2/join_dependency.rb
118
101
  - lib/polyamorous/activerecord_5.1_ruby_2/join_association.rb
119
102
  - lib/polyamorous/activerecord_5.1_ruby_2/join_dependency.rb
120
- - lib/polyamorous/activerecord_5.2_ruby_2/join_association.rb
121
- - lib/polyamorous/activerecord_5.2_ruby_2/join_dependency.rb
103
+ - lib/polyamorous/activerecord_5.2.0_ruby_2/join_association.rb
104
+ - lib/polyamorous/activerecord_5.2.0_ruby_2/join_dependency.rb
105
+ - lib/polyamorous/activerecord_5.2.0_ruby_2/reflection.rb
106
+ - lib/polyamorous/activerecord_5.2.1_ruby_2/join_association.rb
107
+ - lib/polyamorous/activerecord_5.2.1_ruby_2/join_dependency.rb
108
+ - lib/polyamorous/activerecord_5.2.1_ruby_2/reflection.rb
109
+ - lib/polyamorous/activerecord_6.0_ruby_2/join_association.rb
110
+ - lib/polyamorous/activerecord_6.0_ruby_2/join_dependency.rb
111
+ - lib/polyamorous/activerecord_6.0_ruby_2/reflection.rb
112
+ - lib/polyamorous/activerecord_6.1_ruby_2/join_association.rb
113
+ - lib/polyamorous/activerecord_6.1_ruby_2/join_dependency.rb
114
+ - lib/polyamorous/activerecord_6.1_ruby_2/reflection.rb
122
115
  - lib/polyamorous/join.rb
123
116
  - lib/polyamorous/swapping_reflection_class.rb
124
117
  - lib/polyamorous/tree_node.rb
125
118
  - lib/polyamorous/version.rb
126
119
  - polyamorous.gemspec
127
- - spec/blueprints/articles.rb
128
- - spec/blueprints/comments.rb
129
- - spec/blueprints/notes.rb
130
- - spec/blueprints/people.rb
131
- - spec/blueprints/tags.rb
132
- - spec/helpers/polyamorous_helper.rb
133
- - spec/polyamorous/join_association_spec.rb
134
- - spec/polyamorous/join_dependency_spec.rb
135
- - spec/polyamorous/join_spec.rb
136
- - spec/spec_helper.rb
137
- - spec/support/schema.rb
138
- homepage: https://github.com/activerecord-hackery/polyamorous
120
+ homepage: https://github.com/activerecord-hackery/ransack/tree/master/polyamorous
139
121
  licenses:
140
122
  - MIT
141
123
  metadata: {}
@@ -154,20 +136,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
136
  - !ruby/object:Gem::Version
155
137
  version: '0'
156
138
  requirements: []
157
- rubyforge_project: polyamorous
158
- rubygems_version: 2.6.13
139
+ rubygems_version: 3.0.2
159
140
  signing_key:
160
141
  specification_version: 4
161
142
  summary: Loves/is loved by polymorphic belongs_to associations, Ransack, Squeel, MetaSearch...
162
- test_files:
163
- - spec/blueprints/articles.rb
164
- - spec/blueprints/comments.rb
165
- - spec/blueprints/notes.rb
166
- - spec/blueprints/people.rb
167
- - spec/blueprints/tags.rb
168
- - spec/helpers/polyamorous_helper.rb
169
- - spec/polyamorous/join_association_spec.rb
170
- - spec/polyamorous/join_dependency_spec.rb
171
- - spec/polyamorous/join_spec.rb
172
- - spec/spec_helper.rb
173
- - spec/support/schema.rb
143
+ test_files: []
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- .ruby-version
6
- .ruby-gemset
@@ -1,59 +0,0 @@
1
- language: ruby
2
-
3
- sudo: false
4
- cache: bundler
5
-
6
- before_install:
7
- - travis_retry gem install bundler
8
-
9
- rvm:
10
- - 2.5.0
11
- - 2.4.3
12
- - 2.3.6
13
- - 2.2.9
14
-
15
- env:
16
- - RAILS=4-2-stable AREL=6-0-stable DB=sqlite
17
- - RAILS=4-2-stable AREL=6-0-stable DB=mysql
18
- - RAILS=4-2-stable AREL=6-0-stable DB=postgres
19
- - RAILS=5-0-stable AREL=7-0-stable DB=sqlite
20
- - RAILS=5-0-stable AREL=7-0-stable DB=mysql
21
- - RAILS=5-0-stable AREL=7-0-stable DB=postgres
22
- - RAILS=5-1-stable AREL=8-0-stable DB=sqlite
23
- - RAILS=5-1-stable AREL=8-0-stable DB=mysql
24
- - RAILS=5-1-stable AREL=8-0-stable DB=postgres
25
-
26
- matrix:
27
- include:
28
- - rvm: 2.5.0
29
- env: RAILS=master DB=sqlite3
30
- - rvm: 2.5.0
31
- env: RAILS=master DB=mysql
32
- - rvm: 2.5.0
33
- env: RAILS=master DB=postgres
34
-
35
- - rvm: 2.4.3
36
- env: RAILS=master DB=sqlite3
37
- - rvm: 2.4.3
38
- env: RAILS=master DB=mysql
39
- - rvm: 2.4.3
40
- env: RAILS=master DB=postgres
41
-
42
- - rvm: 2.3.6
43
- env: RAILS=master DB=sqlite3
44
- - rvm: 2.3.6
45
- env: RAILS=master DB=mysql
46
- - rvm: 2.3.6
47
- env: RAILS=master DB=postgres
48
-
49
- - rvm: 2.2.9
50
- env: RAILS=master DB=sqlite3
51
- - rvm: 2.2.9
52
- env: RAILS=master DB=mysql
53
- - rvm: 2.2.9
54
- env: RAILS=master DB=postgres
55
-
56
- before_script:
57
- - mysql -e 'create database ransack collate utf8_general_ci;'
58
- - mysql -e 'use ransack;show variables like "%character%";show variables like "%collation%";'
59
- - psql -c 'create database ransack;' -U postgres
data/Gemfile DELETED
@@ -1,33 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
3
-
4
- gem 'rake'
5
-
6
- rails = ENV['RAILS'] || 'master'
7
-
8
- if rails == 'master'
9
- arel = ENV['AREL'] || 'master'
10
- arel_opts =
11
- case arel
12
- when /\// # A path
13
- { path: arel }
14
- when /^v/ # A tagged version
15
- { git: 'git://github.com/rails/arel.git', tag: arel }
16
- else
17
- { git: 'git://github.com/rails/arel.git', branch: arel }
18
- end
19
- gem 'arel', arel_opts
20
- end
21
-
22
- case rails
23
- when /\// # A path
24
- gem 'activerecord', path: "#{rails}/activerecord"
25
- when /^v/ # A tagged version
26
- git 'git://github.com/rails/rails.git', tag: rails do
27
- gem 'activerecord'
28
- end
29
- else
30
- git 'git://github.com/rails/rails.git', branch: rails do
31
- gem 'activerecord'
32
- end
33
- end
data/LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2011 Ernie Miller
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,21 +0,0 @@
1
- # Polyamorous
2
- [![Build Status](https://travis-ci.org/activerecord-hackery/polyamorous.svg?branch=master)](https://travis-ci.org/activerecord-hackery/polyamorous)
3
- [![Gem Version](https://badge.fury.io/rb/polyamorous.svg)](https://badge.fury.io/rb/polyamorous)
4
- [![Code Climate](https://codeclimate.com/github/activerecord-hackery/polyamorous/badges/gpa.svg)](https://codeclimate.com/github/activerecord-hackery/polyamorous)
5
-
6
- Polyamorous is an extraction of shared code from the
7
- [Active Record Hackery](https://github.com/activerecord-hackery) gems
8
- [Ransack](https://github.com/activerecord-hackery/ransack),
9
- [Squeel](https://github.com/activerecord-hackery/squeel) and
10
- [MetaSearch](https://github.com/activerecord-hackery/meta_search) by
11
- [Ernie Miller](http://twitter.com/erniemiller) and maintained by
12
- [Ryan Bigg](http://twitter.com/ryanbigg),
13
- [Xiang Li](http://bigxiang.github.io),
14
- [Jon Atack](http://twitter.com/jonatack),
15
- [Sean Carroll](https://github.com/seanfcarroll) and a great little group of
16
- [contributors]
17
- (https://github.com/activerecord-hackery/polyamorous/graphs/contributors).
18
-
19
- It is an internal library for extending various versions of Active Record with
20
- polymorphism. There is no public API, so it's `:nodoc:`. Move along. Nothing to
21
- see here.
data/Rakefile DELETED
@@ -1,17 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
3
-
4
- RSpec::Core::RakeTask.new(:spec) do |rspec|
5
- rspec.rspec_opts = ['--backtrace']
6
- end
7
-
8
- task :default => :spec
9
-
10
- desc "Open an irb session with Ransack and the sample data used in specs"
11
- task :console do
12
- require 'irb'
13
- require 'irb/completion'
14
- require 'console'
15
- ARGV.clear
16
- IRB.start
17
- end
@@ -1,76 +0,0 @@
1
- # active_record_3_and_4.0_ruby_1.9/join_association.rb
2
- module Polyamorous
3
- module JoinAssociationExtensions
4
- include SwappingReflectionClass
5
- def self.included(base)
6
- base.class_eval do
7
- alias_method_chain :initialize, :polymorphism
8
- alias_method :equality_without_polymorphism, :==
9
- alias_method :==, :equality_with_polymorphism
10
- if base.method_defined?(:active_record)
11
- alias_method :base_klass, :active_record
12
- end
13
-
14
- if ActiveRecord::VERSION::STRING =~ /^3\.0\./
15
- alias_method_chain :association_join, :polymorphism
16
- else
17
- alias_method_chain :build_constraint, :polymorphism
18
- end
19
- end
20
- end
21
-
22
- def initialize_with_polymorphism(
23
- reflection, join_dependency, parent = nil, polymorphic_class = nil
24
- )
25
- if polymorphic_class && ::ActiveRecord::Base > polymorphic_class
26
- swapping_reflection_klass(reflection, polymorphic_class) do |reflection|
27
- initialize_without_polymorphism(reflection, join_dependency, parent)
28
- self.reflection.options[:polymorphic] = true
29
- end
30
- else
31
- initialize_without_polymorphism(reflection, join_dependency, parent)
32
- end
33
- end
34
-
35
- def equality_with_polymorphism(other)
36
- equality_without_polymorphism(other) && base_klass == other.base_klass
37
- end
38
-
39
- def build_constraint_with_polymorphism(
40
- reflection, table, key, foreign_table, foreign_key
41
- )
42
- if reflection.options[:polymorphic]
43
- build_constraint_without_polymorphism(
44
- reflection, table, key, foreign_table, foreign_key
45
- )
46
- .and(foreign_table[reflection.foreign_type].eq(reflection.klass.name))
47
- else
48
- build_constraint_without_polymorphism(
49
- reflection, table, key, foreign_table, foreign_key
50
- )
51
- end
52
- end
53
-
54
- def association_join_with_polymorphism
55
- return @join if @Join
56
- @join = association_join_without_polymorphism
57
- if reflection.macro == :belongs_to && reflection.options[:polymorphic]
58
- aliased_table = Arel::Table.new(
59
- table_name,
60
- as: @aliased_table_name,
61
- engine: arel_engine,
62
- columns: klass.columns
63
- )
64
- parent_table = Arel::Table.new(
65
- parent.table_name,
66
- as: parent.aliased_table_name,
67
- engine: arel_engine,
68
- columns: parent.base_klass.columns
69
- )
70
- @join << parent_table[reflection.options[:foreign_type]]
71
- .eq(reflection.klass.name)
72
- end
73
- @join
74
- end
75
- end
76
- end
@@ -1,96 +0,0 @@
1
- # active_record_3_and_4.0_ruby_1.9/join_dependency.rb
2
- module Polyamorous
3
- module JoinDependencyExtensions
4
- def self.included(base)
5
- base.class_eval do
6
- alias_method_chain :build, :polymorphism
7
- alias_method_chain :graft, :polymorphism
8
- if base.method_defined?(:active_record)
9
- alias_method :base_klass, :active_record
10
- end
11
- end
12
- end
13
-
14
- def graft_with_polymorphism(*associations)
15
- associations.each do |association|
16
- unless join_associations.detect { |a| association == a }
17
- if association.reflection.options[:polymorphic]
18
- build(
19
- Join.new(
20
- association.reflection.name,
21
- association.join_type,
22
- association.reflection.klass
23
- ),
24
- association.find_parent_in(self) || join_base,
25
- association.join_type
26
- )
27
- else
28
- build(
29
- association.reflection.name,
30
- association.find_parent_in(self) || join_base,
31
- association.join_type
32
- )
33
- end
34
- end
35
- end
36
- self
37
- end
38
-
39
- if ActiveRecord::VERSION::STRING =~ /^3\.0\./
40
- def _join_parts
41
- @joins
42
- end
43
- else
44
- def _join_parts
45
- @join_parts
46
- end
47
- end
48
-
49
- def build_with_polymorphism(
50
- associations, parent = nil, join_type = InnerJoin
51
- )
52
- case associations
53
- when Join
54
- parent ||= _join_parts.last
55
- reflection = parent.reflections[associations.name] or
56
- raise ::ActiveRecord::ConfigurationError,
57
- "Association named '#{associations.name
58
- }' was not found; perhaps you misspelled it?"
59
-
60
- unless join_association = find_join_association_respecting_polymorphism(
61
- reflection, parent, associations.klass
62
- )
63
- @reflections << reflection
64
- join_association = build_join_association_respecting_polymorphism(
65
- reflection, parent, associations.klass
66
- )
67
- join_association.join_type = associations.type
68
- _join_parts << join_association
69
- cache_joined_association(join_association)
70
- end
71
-
72
- join_association
73
- else
74
- build_without_polymorphism(associations, parent, join_type)
75
- end
76
- end
77
-
78
- def find_join_association_respecting_polymorphism(reflection, parent, klass)
79
- if association = find_join_association(reflection, parent)
80
- unless reflection.options[:polymorphic]
81
- association
82
- else
83
- association if association.base_klass == klass
84
- end
85
- end
86
- end
87
-
88
- def build_join_association_respecting_polymorphism(reflection, parent, klass)
89
- if reflection.options[:polymorphic] && klass
90
- JoinAssociation.new(reflection, self, parent, klass)
91
- else
92
- JoinAssociation.new(reflection, self, parent)
93
- end
94
- end
95
- end
96
- end