class Admino::Query::FilterGroupPresenter

Public Instance Methods

each_scope(&block) click to toggle source
# File lib/admino/query/filter_group_presenter.rb, line 33
def each_scope(&block)
  scopes.each(&block)
end
name() click to toggle source
# File lib/admino/query/filter_group_presenter.rb, line 72
def name
  I18n.t(
    :"#{query_i18n_key}.#{i18n_key}.name",
    scope: 'query.filter_groups',
    default: [
      :"#{i18n_key}.name",
      i18n_key.to_s.titleize.capitalize
    ]
  )
end
scope_name(scope) click to toggle source
# File lib/admino/query/filter_group_presenter.rb, line 61
def scope_name(scope)
  I18n.t(
    :"#{query_i18n_key}.#{i18n_key}.scopes.#{scope}",
    scope: 'query.filter_groups',
    default: [
      :"#{i18n_key}.scopes.#{scope}",
      scope.to_s.titleize
    ]
  )
end
scope_params(scope) click to toggle source
# File lib/admino/query/filter_group_presenter.rb, line 41
def scope_params(scope)
  params = ActiveSupport::HashWithIndifferentAccess.new(
    h.request.query_parameters.deep_dup
  )

  params[:query] ||= {}

  if is_scope_active?(scope)
    params[:query].delete(param_name)
  else
    params[:query].merge!(param_name => scope.to_s)
  end

  if params[:query].empty?
    params.delete(:query)
  end

  params
end
scope_path(scope) click to toggle source
# File lib/admino/query/filter_group_presenter.rb, line 37
def scope_path(scope)
  h.request.path + "?" + scope_params(scope).to_query
end
scopes() click to toggle source
Calls superclass method
# File lib/admino/query/filter_group_presenter.rb, line 27
def scopes
  @scopes ||= super.map do |scope|
    ScopePresenter.new(scope, self, view_context)
  end
end