reworked the config handling
[embrace.git] / lib / embrace / imap.rb
index 637eb7f26c645b4bc877ca2dd17ad4b126410322..a315a81c2de0f9fbaaad6374572521d6ebd60b37 100644 (file)
@@ -37,21 +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]
 
                        flags = 2
-                       flags |= 16 if @server_info.use_ssl
+                       flags |= 16 if config[:server][:use_ssl]
 
                        @connection = Ecore::Con::Server.new(flags,
-                                                            @server_info[:host],
-                                                            @server_info[:port])
+                                                            config[:server][:host],
+                                                            config[:server][:port])
                        @buffer = ""
 
                        @tag_id = 0
                        @requests = []
 
-                       @mboxes = mboxes.dup
+                       @mboxes = config[:mailboxes].dup
                        @state = :disconnected
 
                        @handlers = [
@@ -122,7 +123,7 @@ end
                        handle_response(Response.deserialize(line))
 
                        if @state == :connected
-                               login(@server_info[:login], @server_info[:password])
+                               login(@login, @password)
                        end
                end