module RansackWrap::Adapters::ActiveRecord::Base
Public Instance Methods
wrap_searcher(params = {})
click to toggle source
Creates new searcher using RansackWrap::Search
subclass for current model.
In the example below it creates instance of UserSearcher
class (which must be defined in app/searchers/user_searcher.rb)
User.wrap_searcher(params[:q]) # => UserSearcher.new
# File lib/ransack_wrap/adapters/active_record.rb, line 17 def wrap_searcher(params = {}) send(:wrap_searcher_as, name, params) end
wrap_searcher_as(:name, params = {})
click to toggle source
wrap_searcher_as("name", params = {})
Creates new searcher using custom named searcher class.
In the example below it creates instance of SharedSearcher
class (which must be defined in app/searchers/shared_searcher.rb)
User.wrap_searcher(:shared, params[:q]) # => SharedSearcher.new
# File lib/ransack_wrap/adapters/active_record.rb, line 32 def wrap_searcher_as(name, params = {}) send(:searcher_class_for, name).new(self, params) end
Private Instance Methods
searcher_class_for(name)
click to toggle source
# File lib/ransack_wrap/adapters/active_record.rb, line 37 def searcher_class_for(name) name.to_s.camelize.concat("Searcher").constantize end