Class: KazooRubySdk::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/kazoo-ruby-sdk/session.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.account_idObject



16
17
18
# File 'lib/kazoo-ruby-sdk/session.rb', line 16

def 
  auth_response.data.
end

.api_urlObject



8
9
10
# File 'lib/kazoo-ruby-sdk/session.rb', line 8

def api_url
  KazooRubySdk.configuration.api_url
end

.auth_tokenObject



24
25
26
# File 'lib/kazoo-ruby-sdk/session.rb', line 24

def auth_token
  auth_response.auth_token
end

.owner_idObject



20
21
22
# File 'lib/kazoo-ruby-sdk/session.rb', line 20

def owner_id
  auth_response.data.owner_id
end

.pipeObject



28
29
30
# File 'lib/kazoo-ruby-sdk/session.rb', line 28

def pipe
  create_conn_object(api_url)
end

.realmObject



12
13
14
# File 'lib/kazoo-ruby-sdk/session.rb', line 12

def realm
  KazooRubySdk.configuration.realm
end

Class Method Details

.auth_responseObject



43
44
45
46
47
48
49
# File 'lib/kazoo-ruby-sdk/session.rb', line 43

def auth_response
  KazooRubySdk.cache.fetch('auth_response') do
    req = {:data => {:credentials => get_credentials_hash, :realm => self.realm}, :verb => 'PUT'}
    response = pipe.put 'user_auth', req
    response.body
  end
end

.create_conn_object(url) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/kazoo-ruby-sdk/session.rb', line 32

def create_conn_object(url)
  Faraday.new(:url => url, ssl: { verify: false }) do |builder|
    builder.use Faraday::Response::Mashify
    builder.use Faraday::Response::ParseJson
    builder.use Faraday::Response::RaiseError
    builder.use FaradayMiddleware::EncodeJson
    builder.use Faraday::Request::UrlEncoded
    builder.adapter Faraday.default_adapter
  end
end

.get_credentials_hashObject



51
52
53
# File 'lib/kazoo-ruby-sdk/session.rb', line 51

def get_credentials_hash
  Digest::MD5.hexdigest("#{KazooRubySdk.configuration.username}:#{KazooRubySdk.configuration.password}")
end