class ActiveScaffold::Config::FieldSearch

Attributes

default_params[RW]

default search params default_params = {:title => {“from”=>“test”, “to”=>“”, “opt”=>“%?%”}}

human_conditions[RW]

human conditions instead of just filtered you may show the user a humanized search condition statment

or_delimiter[RW]

Public Class Methods

new(core_config) click to toggle source
Calls superclass method ActiveScaffold::Config::Base::new
# File lib/active_scaffold/config/field_search.rb, line 5
def initialize(core_config)
  super

  @text_search = self.class.text_search
  @or_delimiter = self.class.or_delimiter
end

Public Instance Methods

columns() click to toggle source

provides access to the list of columns specifically meant for the Search to use

# File lib/active_scaffold/config/field_search.rb, line 37
def columns
  # we want to delay initializing to the @core.columns set for as long as possible. Too soon and .search_sql will not be available to .searchable?
  unless @columns
    self.columns = @core.columns._inheritable
    self.columns.exclude @core.columns.active_record_class.locking_column.to_sym
  end
  @columns
end
optional_columns() click to toggle source
# File lib/active_scaffold/config/field_search.rb, line 66
def optional_columns
  @optional_columns ||= []
end
optional_columns=(optionals) click to toggle source

rarely searched columns may be placed in a hidden subgroup

# File lib/active_scaffold/config/field_search.rb, line 62
 def optional_columns=(optionals)
  @optional_columns= Array(optionals)
end
or_columns() click to toggle source
# File lib/active_scaffold/config/field_search.rb, line 76
def or_columns
  unless @or_columns
    self.or_columns = @core.columns.collect{|c| c.name if @core.columns._inheritable.include?(c.name) and c.searchable? and c.column and c.column.text?}.compact
  end
  @or_columns
end
or_columns=(or_columns) click to toggle source

columns which should support or searches eg like 'x' or … like 'y'

# File lib/active_scaffold/config/field_search.rb, line 72
def or_columns=(or_columns)
  @or_columns = Array(or_columns)
end