Class: QueryFilter

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

Instance Method Summary collapse

Methods included from Redmine::I18n

#current_language, #day_letter, #day_name, #find_language, #format_date, #format_hours, #format_time, included, #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.



205
206
207
208
209
210
211
# File 'app/models/query.rb', line 205

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



213
214
215
216
217
218
219
# File 'app/models/query.rb', line 213

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

#remoteObject



231
232
233
# File 'app/models/query.rb', line 231

def remote
  @remote
end

#valuesObject



221
222
223
224
225
226
227
228
229
# File 'app/models/query.rb', line 221

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