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 = [
handle_response(Response.deserialize(line))
if @state == :connected
- login(@server_info[:login], @server_info[:password])
+ login(@login, @password)
end
end
end
class LogoutRequest < Request
- def initialize(session)
- super
- end
-
def serialize
"LOGOUT"
end