class Runestone::WebSearch::Token

Attributes

alts[RW]
negative[RW]
prefix[RW]
value[RW]

Public Class Methods

new(value, prefix: false, negative: false, alts: nil) click to toggle source
# File lib/runestone/web_search/token.rb, line 3
def initialize(value, prefix: false, negative: false, alts: nil)
  @value = value
  @prefix = prefix
  @negative = negative
  @alts = alts || []
end

Public Instance Methods

to_s() click to toggle source
# File lib/runestone/web_search/token.rb, line 10
def to_s
  if negative
    "!#{value}"
  elsif prefix
    if alts.empty?
      "#{value}:*"
    else
      "(#{value}:* | #{alts.join(' | ')})"
    end
  else
    if alts.empty?
      value
    else
      "(#{value} | #{alts.join(' | ')})"
    end
  end
end