class CFPropertyList::PlainParser
def read_unquoted
def read_unquoted raise CFFormatError.new("unexpected end of file") if @doc.eos? if @doc.scan(/(\d\d\d\d)-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)(?:\s+(\+|-)(\d\d)(\d\d))?/) year,month,day,hour,min,sec,pl_min,tz_hour, tz_min = @doc[1], @doc[2], @doc[3], @doc[4], @doc[5], @doc[6], @doc[7], @doc[8], @doc[9] CFDate.new(Time.new(year, month, day, hour, min, sec, pl_min ? sprintf("%s%s:%s", pl_min, tz_hour, tz_min) : nil)) elsif @doc.scan(/-?\d+?\.\d+\b/) CFReal.new(@doc.matched.to_f) elsif @doc.scan(/-?\d+\b/) CFInteger.new(@doc.matched.to_i) elsif @doc.scan(/\b(true|false)\b/) CFBoolean.new(@doc.matched == 'true') else CFString.new(@doc.scan(/\w+/)) end end