class Alchemy::ResourceFilter

Attributes

name[R]

Public Class Methods

new(filter, resource_name) click to toggle source
# File lib/alchemy/resource_filter.rb, line 7
def initialize(filter, resource_name)
  @filter = filter
  @name = filter[:name]
  @resource_name = resource_name
  @values = filter[:values].presence || []
end

Public Instance Methods

options_for_select() click to toggle source
# File lib/alchemy/resource_filter.rb, line 14
def options_for_select
  translated_values.zip(values)
end
values() click to toggle source
# File lib/alchemy/resource_filter.rb, line 18
def values
  if translated?
    @values.map { |v| v[1] }
  else
    @values
  end
end

Private Instance Methods

translated?() click to toggle source
# File lib/alchemy/resource_filter.rb, line 28
def translated?
  @values.first.is_a?(Array)
end
translated_values() click to toggle source
# File lib/alchemy/resource_filter.rb, line 32
def translated_values
  if translated?
    @values.map { |a| a[0] }
  else
    @values.map { |v| Alchemy.t(v.to_sym, scope: ["filters", @resource_name, @name, "values"]) }
  end
end