Files

ScopedSearch::ClassMethods

The ClassMethods module will be included into the ActiveRecord::Base class to add the ActiveRecord::Base.scoped_search method and the ActiveRecord::Base.search_for named scope.

Public Class Methods

extended(base) click to toggle source
# File lib/scoped_search.rb, line 20
def self.extended(base)
  base.class_attribute :scoped_search_definition
end

Public Instance Methods

scoped_search(*definitions) click to toggle source

Export the scoped_search method fo defining the search options. This method will create a definition instance for the class if it does not yet exist, and use the object as block argument and retun value.

# File lib/scoped_search.rb, line 27
def scoped_search(*definitions)
  self.scoped_search_definition ||= ScopedSearch::Definition.new(self)
  definitions.each do |definition|
    if definition[:on].kind_of?(Array)
      definition[:on].each { |field| self.scoped_search_definition.define(definition.merge(:on => field)) }
    else
      self.scoped_search_definition.define(definition)
    end
  end
  return self.scoped_search_definition
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.