class Glima::IMAP::ResponseParser
Public Instance Methods
msg_att(n = 0)
click to toggle source
# File lib/glima/imap.rb, line 74 def msg_att(n = 0) match(T_LPAR) attr = {} while true token = lookahead case token.symbol when T_RPAR shift_token break when T_SPACE shift_token next end case token.value when /\A(?:ENVELOPE)\z/ni name, val = envelope_data when /\A(?:FLAGS)\z/ni name, val = flags_data when /\A(?:INTERNALDATE)\z/ni name, val = internaldate_data when /\A(?:RFC822(?:\.HEADER|\.TEXT)?)\z/ni name, val = rfc822_text when /\A(?:RFC822\.SIZE)\z/ni name, val = rfc822_size when /\A(?:BODY(?:STRUCTURE)?)\z/ni name, val = body_data when /\A(?:UID)\z/ni name, val = uid_data # Gmail extension additions. # https://gist.github.com/WojtekKruszewski/1404434 when /\A(?:X-GM-LABELS)\z/ni name, val = flags_data when /\A(?:X-GM-MSGID)\z/ni name, val = uid_data when /\A(?:X-GM-THRID)\z/ni name, val = uid_data else parse_error("unknown attribute `%s' for {%d}", token.value, n) end attr[name] = val end return attr end