Module: Filterable
- Defined in:
- lib/filterable.rb,
lib/filterable/concern.rb,
lib/filterable/datable.rb,
lib/filterable/railtie.rb,
lib/filterable/version.rb,
lib/filterable/sortable.rb,
lib/filterable/datable/after.rb,
lib/filterable/datable/range.rb,
lib/filterable/datable/since.rb,
lib/filterable/datable/before.rb,
lib/filterable/concerns/datable.rb,
lib/filterable/concerns/sortable.rb,
lib/filterable/attribute_normalization.rb
Overview
Declarative, whitelisted query filtering and ordering for ActiveRecord models.
In a Rails application the Railtie auto-includes the building blocks into every model, so a model only declares its columns:
class MovementDetail < ApplicationRecord
datable :value_date, :booking_date
sortable :value_date, :gross_amount_cents
end
MovementDetail.filterable(filters: { value_date: { after: '2026-02-01' }, sort: '-value_date' })
Outside Rails, include the pieces manually:
include Filterable::Concern
include Filterable::Concerns::Datable
include Filterable::Concerns::Sortable
Defined Under Namespace
Modules: AttributeNormalization, Concern, Concerns, Datable, Sortable Classes: Error, Railtie
Constant Summary collapse
- VERSION =
'0.1.0'