Module: FilterParam

Defined in:
lib/filter_param.rb,
lib/filter_param/field.rb,
lib/filter_param/scope.rb,
lib/filter_param/parser.rb,
lib/filter_param/version.rb,
lib/filter_param/ast/node.rb,
lib/filter_param/operator.rb,
lib/filter_param/ast/group.rb,
lib/filter_param/ast/scope.rb,
lib/filter_param/definition.rb,
lib/filter_param/transpiler.rb,
lib/filter_param/ast/literal.rb,
lib/filter_param/transformer.rb,
lib/filter_param/operators/or.rb,
lib/filter_param/ast/attribute.rb,
lib/filter_param/operators/and.rb,
lib/filter_param/operators/not.rb,
lib/filter_param/ast/expressions.rb,
lib/filter_param/operators/equal.rb,
lib/filter_param/operators/group.rb,
lib/filter_param/ast/literals/date.rb,
lib/filter_param/ast/literals/null.rb,
lib/filter_param/operators/present.rb,
lib/filter_param/operators/contains.rb,
lib/filter_param/ast/literals/string.rb,
lib/filter_param/operators/ends_with.rb,
lib/filter_param/operators/less_than.rb,
lib/filter_param/operators/not_equal.rb,
lib/filter_param/ast/literals/boolean.rb,
lib/filter_param/ast/literals/decimal.rb,
lib/filter_param/ast/literals/integer.rb,
lib/filter_param/operators/starts_with.rb,
lib/filter_param/ast/literals/date_time.rb,
lib/filter_param/operators/greater_than.rb,
lib/filter_param/operators/less_than_equal.rb,
lib/filter_param/operators/greater_than_equal.rb,
lib/filter_param/operators/field_filter_operator.rb,
lib/filter_param/operators/case_insensitive_equal.rb

Defined Under Namespace

Modules: AST, Operators Classes: BaseError, Definition, ExpressionError, Field, InvalidLiteral, Operator, ParseError, Parser, Scope, Transformer, Transpiler, UnknownField, UnknownScope, UnknownType

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.define(&block) ⇒ Definition

Creates a new FilterParam definition that whitelists the columns that are allowed to be filtered (i.e. used in SQL WHERE).

Examples:

FilterParam.define do
  fields :first_name, :last_name
  field :birth_date, rename: bdate
end

Parameters:

  • block (Proc)

    Field definition block

Returns:



67
68
69
# File 'lib/filter_param.rb', line 67

def self.define(&block)
  Definition.new.define(&block)
end