Sha256: 289984013a524d0c3af7f1259f677a3cd7faeb3988ad1934ebe5daf085dfbe63
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
module Gmail class Labels include Enumerable attr_reader :connection alias :conn :connection def initialize(connection) @connection = connection end # Get list of all defined labels. def all (conn.list("", "%")+conn.list("[Gmail]/", "%")).inject([]) do |labels,label| label[:name].each_line {|l| labels << Net::IMAP.decode_utf7(l) } labels end end alias :list :all alias :to_a :all def each(*args, &block) all.each(*args, &block) end # Returns +true+ when given label defined. def exists?(label) all.include?(label) end alias :exist? :exists? # Creates given label in your account. def create(label) !!conn.create(Net::IMAP.encode_utf7(label)) rescue false end alias :new :create alias :add :create # Deletes given label from your account. def delete(label) !!conn.delete(Net::IMAP.encode_utf7(label)) rescue false end alias :remove :delete def inspect "#<Gmail::Labels#{'0x%04x' % (object_id << 1)}>" end end # Labels end # Gmail
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gmail-afurmanov-0.1.0 | lib/gmail/labels.rb |