class Samovar::Flags
def boolean?
def boolean? @ordered.count == 1 and @ordered.first.boolean? 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.parse(part)} end
def parse(input)
def parse(input) @ordered.each do |flag| result = flag.parse(input) if result != nil return result end end return nil end
def to_s
def to_s "[#{@ordered.join(' | ')}]" end