activerecord-hackery--ransack/spec/helpers/polyamorous_helper.rb

29 lines
1.1 KiB
Ruby
Raw Normal View History

2018-06-23 17:00:21 +00:00
module PolyamorousHelper
2018-07-02 15:00:34 +00:00
def new_join_association(reflection, children, klass)
Polyamorous::JoinAssociation.new reflection, children, klass
2018-06-23 17:00:21 +00:00
end
2019-05-28 09:24:50 +00:00
if ActiveRecord::VERSION::STRING >= "6.0.0.rc1"
def new_join_dependency(klass, associations = {})
Polyamorous::JoinDependency.new klass, klass.arel_table, associations, Polyamorous::InnerJoin
end
elsif ActiveRecord::VERSION::STRING > "5.2.0"
def new_join_dependency(klass, associations = {})
Polyamorous::JoinDependency.new klass, klass.arel_table, associations
end
elsif ActiveRecord::VERSION::STRING == "5.2.0"
2018-06-23 17:00:21 +00:00
def new_join_dependency(klass, associations = {})
alias_tracker = ::ActiveRecord::Associations::AliasTracker.create(klass.connection, klass.table_name, [])
Polyamorous::JoinDependency.new klass, klass.arel_table, associations, alias_tracker
end
else
def new_join_dependency(klass, associations = {})
Polyamorous::JoinDependency.new klass, associations, []
end
end
def new_join(name, type = Polyamorous::InnerJoin, klass = nil)
Polyamorous::Join.new name, type, klass
end
end