class Samovar::Flags

def boolean?

Whether or not this flag should have a true/false value if not specified otherwise.
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