class Samovar::Flags
def boolean?
def boolean? @ordered.count == 1 and @ordered.first.value.nil? end
def count
def count return @ordered.count end
def each(&block)
def each(&block) @ordered.each(&block) end
def first
def first @ordered.first end
def initialize(text)
def initialize(text) @text = text @ordered = text.split(/\s+\|\s+/).map{|part| Flag.new(part)} end
def parse(input)
def parse(input) @ordered.each do |flag| if result = flag.parse(input) return result end end return nil end
def to_s
def to_s '[' + @ordered.join(' | ') + ']' end