diff options
author | Daniel Colson <danieljamescolson@gmail.com> | 2018-01-24 14:06:30 -0500 |
---|---|---|
committer | Daniel Colson <danieljamescolson@gmail.com> | 2018-01-24 16:49:35 -0500 |
commit | 6928950def1bea9d564778e734822d4f5b8bac61 (patch) | |
tree | 36dfe89c9ce65ea9dfa11fc9cbed8e560da594bc /activerecord/lib/active_record/relation/merger.rb | |
parent | 1280ad6d19fa56e9bf6d6a261c1231326cb3d8c3 (diff) | |
download | rails-6928950def1bea9d564778e734822d4f5b8bac61.tar.gz rails-6928950def1bea9d564778e734822d4f5b8bac61.tar.bz2 rails-6928950def1bea9d564778e734822d4f5b8bac61.zip |
Avoid passing unnecessary arguments to relation
Most of the time the table and predicate_builder
passed to Relation.new are exactly the
arel_table and predicate builder of the
given klass. This uses klass.arel_table
and klass.predicate_builder as the defaults,
so we don't have to pass them in most cases.
This does change the signaure of both Relation and
AssocationRelation. Are we ok with that?
Diffstat (limited to 'activerecord/lib/active_record/relation/merger.rb')
-rw-r--r-- | activerecord/lib/active_record/relation/merger.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/merger.rb b/activerecord/lib/active_record/relation/merger.rb index ebdd4144bb..25510d4a57 100644 --- a/activerecord/lib/active_record/relation/merger.rb +++ b/activerecord/lib/active_record/relation/merger.rb @@ -23,7 +23,11 @@ module ActiveRecord # build a relation to merge in rather than directly merging # the values. def other - other = Relation.create(relation.klass, relation.table, relation.predicate_builder) + other = Relation.create( + relation.klass, + table: relation.table, + predicate_builder: relation.predicate_builder + ) hash.each { |k, v| if k == :joins if Hash === v |