Class: QueryFilter

Inherits:
Object
  • Object
show all
Includes:
Redmine::I18n
Defined in:
app/models/query.rb

Overview

Since:

  • 3.4.0

Instance Method Summary collapse

Methods included from Redmine::I18n

#current_language, #day_letter, #day_name, #find_language, #format_date, #format_hours, #format_time, #l, #l_hours, #l_hours_short, #l_or_humanize, #languages_options, #ll, #lu, #month_name, #set_language_if_valid, #valid_languages

Constructor Details

#initialize(field, options) ⇒ QueryFilter

Returns a new instance of QueryFilter



166
167
168
169
170
171
172
# File 'app/models/query.rb', line 166

def initialize(field, options)
  @field = field.to_s
  @options = options
  @options[:name] ||= l(options[:label] || "field_#{field}".gsub(/_id$/, ''))
  # Consider filters with a Proc for values as remote by default
  @remote = options.key?(:remote) ? options[:remote] : options[:values].is_a?(Proc)
end

Instance Method Details

#[](arg) ⇒ Object



174
175
176
177
178
179
180
# File 'app/models/query.rb', line 174

def [](arg)
  if arg == :values
    values
  else
    @options[arg]
  end
end

#remoteObject



192
193
194
# File 'app/models/query.rb', line 192

def remote
  @remote
end

#valuesObject



182
183
184
185
186
187
188
189
190
# File 'app/models/query.rb', line 182

def values
  @values ||= begin
    values = @options[:values]
    if values.is_a?(Proc)
      values = values.call
    end
    values
  end
end