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