class Admino::Query::FilterGroup

Attributes

config[R]
params[R]
query_i18n_key[R]

Public Class Methods

new(config, params, query_i18n_key = nil) click to toggle source
# File lib/admino/query/filter_group.rb, line 11
def initialize(config, params, query_i18n_key = nil)
  @config = config
  @params = ActiveSupport::HashWithIndifferentAccess.new(params)
  @query_i18n_key = query_i18n_key
end

Public Instance Methods

active_scope() click to toggle source
# File lib/admino/query/filter_group.rb, line 25
def active_scope
  if value && scopes.include?(value)
    value
  else
    nil
  end
end
augment_scope(scope) click to toggle source
# File lib/admino/query/filter_group.rb, line 17
def augment_scope(scope)
  if active_scope && active_scope != :empty
    scope.send(active_scope)
  else
    scope
  end
end
default_value() click to toggle source
# File lib/admino/query/filter_group.rb, line 46
def default_value
  if config.default_scope
    config.default_scope
  elsif config.include_empty_scope?
    :empty
  else
    nil
  end
end
i18n_key() click to toggle source
# File lib/admino/query/filter_group.rb, line 68
def i18n_key
  config.name
end
is_scope_active?(scope) click to toggle source
# File lib/admino/query/filter_group.rb, line 33
def is_scope_active?(scope)
  active_scope == scope.to_sym
end
param_name() click to toggle source
# File lib/admino/query/filter_group.rb, line 56
def param_name
  config.name
end
scopes() click to toggle source
# File lib/admino/query/filter_group.rb, line 60
def scopes
  @scopes ||= config.scopes.dup.tap do |scopes|
    if config.include_empty_scope?
      scopes.unshift :empty
    end
  end
end
value() click to toggle source
# File lib/admino/query/filter_group.rb, line 37
def value
  value = params.fetch(:query, {}).fetch(param_name, default_value)
  if value
    value.to_sym
  else
    nil
  end
end