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

#abbr_day_name, #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.



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

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



219
220
221
222
223
224
225
# File 'app/models/query.rb', line 219

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

#remoteObject



237
238
239
# File 'app/models/query.rb', line 237

def remote
  @remote
end

#valuesObject



227
228
229
230
231
232
233
234
235
# File 'app/models/query.rb', line 227

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