Sha256: d9d559a3827038a20bfa18c6126598b6db725c4aa60431f1cb07569856f72a83
Contents?: true
Size: 1.23 KB
Versions: 23
Compression:
Stored size: 1.23 KB
Contents
if Rails.version < '5.0.0' module ActiveScaffold module OuterJoins extend ActiveSupport::Concern def left_outer_joins_values @values[:left_outer_joins] || [] end def left_outer_joins_values=(values) raise ImmutableRelation if @loaded @values[:left_outer_joins] = values end def left_outer_joins(*args) check_if_method_has_arguments!('left_outer_joins', args) spawn.left_outer_joins!(*args.compact.flatten) end alias left_joins left_outer_joins def left_outer_joins!(*args) self.joins_values += [''] # HACK: for using left_outer_joins in update_all/delete_all self.left_outer_joins_values += args self end alias left_joins! left_outer_joins! def build_arel if left_outer_joins_values.empty? super else relation = except(:left_outer_joins) relation.joins! ActiveRecord::Associations::JoinDependency.new(@klass, left_outer_joins_values, []) relation.build_arel end end end end ActiveRecord::Relation.send :include, ActiveScaffold::OuterJoins module ActiveRecord::Querying delegate :left_outer_joins, :left_joins, :to => :all end end
Version data entries
23 entries across 23 versions & 1 rubygems