class KeywordSearch::Definition
Public Class Methods
new() { |self| ... }
click to toggle source
# File lib/keyword_search/definition.rb, line 25 def initialize @default_keyword = nil yield self if block_given? end
Public Instance Methods
default_keyword(name)
click to toggle source
# File lib/keyword_search/definition.rb, line 38 def default_keyword(name) @default_keyword = name end
handle(key, values)
click to toggle source
# File lib/keyword_search/definition.rb, line 42 def handle(key, values) key = @default_keyword if key == :default return false unless key true_values, false_values = *values.partition { |v| v[1] } # Get just the values true_values.collect! { |v| v[0] } false_values.collect! { |v| v[0] } if k = keywords.detect { |kw| kw.name == key.to_sym} k.handle(true_values, true) unless true_values.empty? k.handle(false_values, false) unless false_values.empty? end end
keyword(name, description=nil, &block)
click to toggle source
# File lib/keyword_search/definition.rb, line 34 def keyword(name, description=nil, &block) keywords << Keyword.new(name, description, &block) end
keywords()
click to toggle source
# File lib/keyword_search/definition.rb, line 30 def keywords @keywords ||= [] end