class ZQuickblox::Session

Attributes

login[RW]
password[RW]
session[R]
token[R]

Public Class Methods

create(login=nil, password=nil) click to toggle source
# File lib/zquickblox/session.rb, line 7
def create(login=nil, password=nil)
  session = ZQuickblox::Session.new
  session.login    = login
  session.password = password
  session.execute
  return session
end
new() click to toggle source
Calls superclass method ZQuickblox::Request::new
# File lib/zquickblox/session.rb, line 16
def initialize
  super
  @uri = "/session.json"
  @method = :post
end

Public Instance Methods

before_request() click to toggle source
# File lib/zquickblox/session.rb, line 22
def before_request
  build_params
end
execute() click to toggle source
Calls superclass method ZQuickblox::Request#execute
# File lib/zquickblox/session.rb, line 26
def execute
  super
  @session = @response_body["session"]
  @token   = @session["token"]
end

Private Instance Methods

build_params() click to toggle source
# File lib/zquickblox/session.rb, line 34
def build_params
  @params = {
    "application_id": ZQuickblox.config.app_id,
    "auth_key": ZQuickblox.config.auth_key,
    "timestamp": Time.now.to_i,
    "nonce": rand(2000)
  }
  @params["user[login]"] = @login if @login
  @params["user[password]"] = @password if @password
  @params["signature"] = ZQuickblox::Signature.generate_signature(@params, ZQuickblox.config.auth_secret)
end