Sha256: fc2620044a8b408fa631311e8a8705a8457a2c593206ccda1269c1d7a4236cb8

Contents?: true

Size: 887 Bytes

Versions: 8

Compression:

Stored size: 887 Bytes

Contents

def sort_hash
  { sort: sort_param }
end

def filter_param field
  filter_hash[field.to_sym]
end

def filter_hash
  @filter_hash ||= begin
    filter = Env.params[:filter]
    filter = filter.to_unsafe_h if filter&.respond_to?(:to_unsafe_h)
    filter.is_a?(Hash) ? filter : {}
  end
end

def sort_param
  Env.params[:sort] if Env.params[:sort].present?
end

def filter_keys_with_values
  (filter_keys + advanced_filter_keys).map do |key|
    values = filter_param(key)
    next unless values.present?
    [key, values]
  end.compact
end

def default_filter_option
  {}
end

def offset
  param_to_i :offset, 0
end

format do
  delegate :filter_hash, :sort_hash, :filter_param, :sort_param,
           :all_filter_keys, to: :card
end

format :html do
  def extra_paging_path_args
    { filter: filter_hash }.merge sort_hash
  end

  def filter_active?
    filter_hash.present?
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
card-1.93.13 mod/search/set/abstract/00_filter_helper.rb
card-1.93.12 mod/search/set/abstract/00_filter_helper.rb
card-1.93.11 mod/search/set/abstract/00_filter_helper.rb
card-1.93.10 mod/search/set/abstract/00_filter_helper.rb
card-1.93.9 mod/search/set/abstract/00_filter_helper.rb
card-1.93.8 mod/search/set/abstract/00_filter_helper.rb
card-1.93.7 mod/search/set/abstract/00_filter_helper.rb
card-1.93.6 mod/search/set/abstract/00_filter_helper.rb