X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=lib%2Fembrace%2Fimap.rb;h=cb129a08dbf071ad3f351fcc2d7756b0b29021e9;hb=4d10caabe320a8f846280ff4af17710cef7d1725;hp=2fc3af434af2fbe21caa694ea6d61294fe75fd2d;hpb=76d5e549fcb9c0b316f81eb4a2a496d84f0313c7;p=embrace.git diff --git a/lib/embrace/imap.rb b/lib/embrace/imap.rb index 2fc3af4..cb129a0 100644 --- a/lib/embrace/imap.rb +++ b/lib/embrace/imap.rb @@ -37,18 +37,22 @@ module Embrace::IMAP class Session attr_reader :connection - def initialize(server_info, mboxes) - @server_info = server_info + def initialize(config) + @login = config[:server][:login] + @password = config[:server][:password] - @connection = Ecore::Con::Server.new(2 | 16, - @server_info[:host], - @server_info[:port]) + flags = 3 + flags |= 16 if config[:server][:use_ssl] + + @connection = Ecore::Con::Server.new(flags, + config[:server][:host], + config[:server][:port]) @buffer = "" @tag_id = 0 @requests = [] - @mboxes = mboxes.dup + @mboxes = config[:mailboxes].dup @state = :disconnected @handlers = [ @@ -119,7 +123,7 @@ end handle_response(Response.deserialize(line)) if @state == :connected - login(@server_info[:login], @server_info[:password]) + login(@login, @password) end end @@ -198,10 +202,6 @@ end end class LogoutRequest < Request - def initialize(session) - super - end - def serialize "LOGOUT" end