class KlickmailApi::Connector

Constants

DEFAULT_SERVICE

Public Class Methods

new(service = DEFAULT_SERVICE) click to toggle source
# File lib/klickmail_api/connector.rb, line 7
def initialize(service = DEFAULT_SERVICE)
  @service = service
end

Public Instance Methods

login(username, password) click to toggle source
# File lib/klickmail_api/connector.rb, line 11
def login(username, password)
  data = { username: username, password: password }

  result = request('account/login', :post, data)
  set_session(result)

  result
end
request(path, method = :get, data = {}) click to toggle source
# File lib/klickmail_api/connector.rb, line 20
def request(path, method = :get, data = {})
  headers = {}
  headers = request_header if @sessid

  http_request(path, method, data, headers).parsed_response
end

Private Instance Methods

http_request(path, method, data, headers) click to toggle source
# File lib/klickmail_api/connector.rb, line 40
def http_request(path, method, data, headers)
  HTTParty.public_send(method, "#{@service}/#{path}", body: data, headers: headers, timeout: 3)
end
request_header() click to toggle source
# File lib/klickmail_api/connector.rb, line 34
def request_header
  { 'Cookie' => "#{@session_name}=#{@sessid}",
    'Content-Type' => 'application/x-www-form-urlencoded'
   }
end
set_session(data) click to toggle source
# File lib/klickmail_api/connector.rb, line 29
def set_session(data)
  @session_name = data['session_name']
  @sessid = data['sessid']
end