Sha256: 5a3217c8f49815c1ad8fe5690d7e9d5fbe11184f2b0b0038144a9a75198c99f8

Contents?: true

Size: 976 Bytes

Versions: 1

Compression:

Stored size: 976 Bytes

Contents

require "active_record/scope_names"
require "active_hash_relation/version"
require "active_hash_relation/column_filters"
require "active_hash_relation/scope_filters"
require "active_hash_relation/sort_filters"
require "active_hash_relation/limit_filters"
require "active_hash_relation/association_filters"
require "active_hash_relation/filter_applier"

module ActiveHashRelation
  class << self
    attr_accessor :configuration
  end

  def self.configure
    self.configuration
    yield(configuration)
  end

  def self.configuration
    @configuration ||= Configuration.new do
      self.has_filter_classes = false
    end
  end

  def apply_filters(resource, params, include_associations: false, model: nil)
    FilterApplier.new(
      resource,
      params,
      include_associations: include_associations,
      model: model
    ).apply_filters
  end

  class Configuration
    attr_accessor :has_filter_classes, :filter_class_prefix, :filter_class_suffix
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_hash_relation-0.0.2 lib/active_hash_relation.rb