Class: ActiveScaffold::Config::Search
- Defined in:
- lib/active_scaffold/config/search.rb
Constant Summary collapse
- @@link =
ActiveScaffold::DataStructures::ActionLink.new('show_search', :label => :search, :type => :collection, :security_method => :search_authorized?, :ignore_method => :search_ignore?)
- @@text_search =
:full
Instance Attribute Summary collapse
-
#link ⇒ Object
the ActionLink for this action.
-
#live ⇒ Object
writeonly
whether submits the search as you type.
-
#text_search ⇒ Object
A flag for how the search should do full-text searching in the database: * :full: LIKE %?% * :start: LIKE ?% * :end: LIKE %? * false: LIKE ? Default is :full.
Attributes inherited from Base
Class Method Summary collapse
Instance Method Summary collapse
-
#columns ⇒ Object
provides access to the list of columns specifically meant for the Search to use.
-
#initialize(core_config) ⇒ Search
constructor
A new instance of Search.
- #live? ⇒ Boolean
Methods inherited from Base
#crud_type, #formats, #formats=, inherited
Methods included from ActiveScaffold::Configurable
Constructor Details
#initialize(core_config) ⇒ Search
Returns a new instance of Search.
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/active_scaffold/config/search.rb', line 5 def initialize(core_config) @core = core_config @text_search = self.class.text_search @live = self.class.live? # start with the ActionLink defined globally @link = self.class.link.clone @action_group = self.class.action_group.clone if self.class.action_group end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ActiveScaffold::Configurable
Instance Attribute Details
#link ⇒ Object
the ActionLink for this action
61 62 63 |
# File 'lib/active_scaffold/config/search.rb', line 61 def link @link end |
#live=(value) ⇒ Object (writeonly)
whether submits the search as you type
64 65 66 |
# File 'lib/active_scaffold/config/search.rb', line 64 def live=(value) @live = value end |
#text_search ⇒ Object
A flag for how the search should do full-text searching in the database:
-
:full: LIKE %?%
-
:start: LIKE ?%
-
:end: LIKE %?
-
false: LIKE ?
Default is :full
58 59 60 |
# File 'lib/active_scaffold/config/search.rb', line 58 def text_search @text_search end |
Class Method Details
.live? ⇒ Boolean
34 35 36 |
# File 'lib/active_scaffold/config/search.rb', line 34 def self.live? @@live end |
Instance Method Details
#columns ⇒ Object
provides access to the list of columns specifically meant for the Search to use
42 43 44 45 46 47 48 |
# File 'lib/active_scaffold/config/search.rb', line 42 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.collect{|c| c.name if @core.columns._inheritable.include?(c.name) and c.searchable? and c.column and c.column.text?}.compact end @columns end |
#live? ⇒ Boolean
65 66 67 |
# File 'lib/active_scaffold/config/search.rb', line 65 def live? @live end |