Sha256: 445ab1752346518bd3d24405fbb4523abc96b15224e9669985b82b1318eb4a0b

Contents?: true

Size: 768 Bytes

Versions: 83

Compression:

Stored size: 768 Bytes

Contents

# frozen_string_literal: true

ActiveRecord::Filter.module_eval do
  def filters
    @filters ||= HashWithIndifferentAccess.new
  end
end

if Rails::VERSION::MAJOR == 6
  ActiveRecord::Relation::Filter.module_eval do
    def build_arel(aliases = nil)
      arel = super
      my_alias_tracker = ActiveRecord::Associations::AliasTracker.create(connection, table.name, [])
      build_filters(arel, my_alias_tracker)
      arel
    end

    def build_filters(manager, alias_tracker)
      return unless @filters

      where_clause = nil

      @filters.each do |filters|
        where_clause = filter_clause_factory.build(filters, alias_tracker)

        manager.where(where_clause.ast)
      end

      @values[:where] = where_clause if where_clause
    end
  end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
motor-admin-0.3.4 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.3.3 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.3.2 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.3.1 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.3.0 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.89 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.88 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.87 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.86 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.85 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.84 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.83 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.82 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.81 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.80 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.79 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.78 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.77 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.76 lib/motor/active_record_utils/active_record_filter_patch.rb
motor-admin-0.2.75 lib/motor/active_record_utils/active_record_filter_patch.rb