class Samovar::One

def parse(input, parent = nil, default = nil)

def parse(input, parent = nil, default = nil)
	if input.first =~ @pattern
		input.shift
	elsif default ||= @default
		return default
	elsif @required
		raise MissingValueError.new(parent, self)
	end
end