class Minidusen::Query
Attributes
tokens[R]
Public Class Methods
new(initial_tokens = [])
click to toggle source
# File lib/minidusen/query.rb, line 8 def initialize(initial_tokens = []) @tokens = initial_tokens end
Public Instance Methods
<<(token)
click to toggle source
# File lib/minidusen/query.rb, line 12 def <<(token) tokens << token end
[](index)
click to toggle source
# File lib/minidusen/query.rb, line 16 def [](index) tokens[index] end
condensed()
click to toggle source
# File lib/minidusen/query.rb, line 32 def condensed include_texts = include.select(&:text?).collect(&:value) exclude_texts = exclude.select(&:text?).collect(&:value) field_tokens = tokens.reject(&:text?) condensed_tokens = field_tokens if include_texts.present? options = { :field => 'text', :value => include_texts, :exclude => false } condensed_tokens << Token.new(options) end if exclude_texts.present? options = { :field => 'text', :value => exclude_texts, :exclude => true } condensed_tokens << Token.new(options) end self.class.new(condensed_tokens) end
each(&block)
click to toggle source
# File lib/minidusen/query.rb, line 28 def each(&block) tokens.each(&block) end
exclude()
click to toggle source
# File lib/minidusen/query.rb, line 53 def exclude self.class.new tokens.select(&:exclude?) end
include()
click to toggle source
# File lib/minidusen/query.rb, line 49 def include self.class.new tokens.reject(&:exclude?) end
size()
click to toggle source
# File lib/minidusen/query.rb, line 20 def size tokens.size end
to_s()
click to toggle source
# File lib/minidusen/query.rb, line 24 def to_s collect(&:to_s).join(" + ") end