class ConstantContact::Auth::Session

Attributes

session[RW]

Public Class Methods

new() click to toggle source

Create and initialize the session

# File lib/constantcontact/auth/session_data_store.rb, line 13
def initialize
  cgi = CGI.new('html4')

  # We make sure to delete an old session if one exists,
  # not just to free resources, but to prevent the session
  # from being maliciously hijacked later on.
  begin
    @session = CGI::Session.new(cgi, 'database_manager' => CGI::Session::PStore, 'new_session' => false)
    @session.delete
  rescue ArgumentError # if no old session
  end
  @session = CGI::Session.new(cgi, 'database_manager' => CGI::Session::PStore, 'new_session' => true)
  @session['datastore'] = {}
end

Public Instance Methods

add_user(username, params) click to toggle source

Add a new user to the data store @param [String] username - Constant Contact username @param [Hash] params - additional parameters @return

# File lib/constantcontact/auth/session_data_store.rb, line 32
def add_user(username, params)
  @session['datastore'][username] = params
end
close() click to toggle source

Close current session @return

# File lib/constantcontact/auth/session_data_store.rb, line 62
def close
  @session.close
end
delete_user(username) click to toggle source

Delete an existing user from the data store @param [String] username - Constant Contact username @return

# File lib/constantcontact/auth/session_data_store.rb, line 56
def delete_user(username)
  @session['datastore'][username] = nil
end
get_user(username) click to toggle source

Get an existing user from the data store @param [String] username - Constant Contact username key @return [String] The username value

# File lib/constantcontact/auth/session_data_store.rb, line 39
def get_user(username)
  @session['datastore'].has_key?(username) ? @session['datastore'][username] : false
end
update_user(username, params) click to toggle source

Update an existing user in the data store @param [String] username - Constant Contact username @param [Hash] params - additional parameters @return

# File lib/constantcontact/auth/session_data_store.rb, line 47
def update_user(username, params)
  if @session['datastore'].has_key?(username)
    @session['datastore'][username] = params
  end
end