class Administrate::Search::Query
Attributes
filters[R]
Public Class Methods
new(original_query)
click to toggle source
# File lib/administrate/search.rb, line 13 def initialize(original_query) @original_query = original_query @filters, @terms = parse_query(original_query) end
Public Instance Methods
blank?()
click to toggle source
# File lib/administrate/search.rb, line 9 def blank? terms.blank? && filters.empty? end
original()
click to toggle source
# File lib/administrate/search.rb, line 18 def original @original_query end
terms()
click to toggle source
# File lib/administrate/search.rb, line 22 def terms @terms.join(" ") end
to_s()
click to toggle source
# File lib/administrate/search.rb, line 26 def to_s original end
Private Instance Methods
filter?(word)
click to toggle source
# File lib/administrate/search.rb, line 32 def filter?(word) word.match?(/^\w+:$/) end
parse_query(query)
click to toggle source
# File lib/administrate/search.rb, line 36 def parse_query(query) filters = [] terms = [] query.to_s.split.each do |word| if filter?(word) filters << word.split(":").first else terms << word end end [filters, terms] end