Module: Iord::Search
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/iord/search.rb
Instance Method Summary collapse
- #create_collection_with_search ⇒ Object
- #search_operator ⇒ Object
- #search_operators ⇒ Object
- #search_term ⇒ Object
- #search_value ⇒ Object
Instance Method Details
#create_collection_with_search ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/iord/search.rb', line 103 def create_collection_with_search collection = create_collection_without_search if search_term if search_operator == :like collection = collection.where(search_term => {"$regex" => ".*#{search_value}.*", "$options" => "i"} ) elsif search_operator == :eq if search_value.empty? collection = collection.where(search_term.to_sym.in => [nil, '']) else collection = collection.where(search_term => search_value) end else collection = collection.where(search_term => {"$#{search_operator}" => search_value}) end end return collection end |
#search_operator ⇒ Object
92 93 94 95 96 97 98 99 100 101 |
# File 'lib/iord/search.rb', line 92 def search_operator if @search_operator.nil? or (params[:op] ? @search_operator != params[:op].to_s : false) return @search_operator = nil if search_term.nil? @search_operator = (params[:op] || :eq).to_sym @search_operator = :eq unless search_operators.include? @search_operator collection_url_defaults[:op] = @search_operator if @search_operator end return @search_operator end |
#search_operators ⇒ Object
88 89 90 |
# File 'lib/iord/search.rb', line 88 def search_operators @search_operators ||= %i(eq lt lte gt gte like) end |
#search_term ⇒ Object
69 70 71 72 73 74 75 76 |
# File 'lib/iord/search.rb', line 69 def search_term if @search_term.nil? @search_term = params[:q] @search_term = nil unless resource_attribute_names.include? @search_term collection_url_defaults[:q] = @search_term if @search_term end return @search_term end |
#search_value ⇒ Object
78 79 80 81 82 83 84 85 86 |
# File 'lib/iord/search.rb', line 78 def search_value if @search_value.nil? return @search_value = nil if search_term.nil? @search_value = params[:v] collection_url_defaults[:v] = @search_value if @search_value end return @search_value end |