bulutfon_sdk 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5cc774a5f4304eae19a555935f79b6034263a0b2
4
- data.tar.gz: a99fa05066f254a9a08ebef93e5023a3725386c8
3
+ metadata.gz: 98c31d0193c61fa20c3a76dbf332211dc048c27f
4
+ data.tar.gz: 8e8bd10c57f436e6a6480f5f0ec909ebae814857
5
5
  SHA512:
6
- metadata.gz: fad81ae0eea63e18b3191756aa98661b2a8eefe18afe15d936522e7ade9ef99e3008d4f1e4ef877ce6a213021c9f36a1810e3bcabd834a53f43bd6ae80d2fcc3
7
- data.tar.gz: 5f0b201b20335cad2e44e36879fe22ecc1e22ce1726afeca39de80c9b9f312742f756ae331e612a69090036f72a32ca88b9cd41770ba63724669208a39258ddd
6
+ metadata.gz: 74c9581899a61cde11566b9aeb54a4235565ced86336b4e62ecf95662c5cb0609a174f2556dbdd4827041abf1684ee6ccfb6845278491da325d7842ccdc5fcb9
7
+ data.tar.gz: 55d1b436c81ebe6784ec9518c6eebe89a0d929728ab7f343cd07e77fa5254167afd2133a24fc1df15a497b70f428f1393c6f880d2181535e96a7334ded25b466
@@ -10,9 +10,17 @@ module BulutfonSDK
10
10
 
11
11
  def initialize(*args)
12
12
  options = args.last.is_a?(Hash) ? args.pop : {}
13
+ args.select! {|arg| !arg.nil?}
13
14
  @config = BulutfonSDK::Util::ClientConfig.new options
14
- @token = args[0] || nil
15
- raise ArgumentError, 'Auth token is required' if @token.nil?
15
+ if args.count > 1
16
+ @email = args[0] || nil
17
+ @password = args[1] || nil
18
+ @auth_type = 'credentials'
19
+ else
20
+ @token = args[0] || nil
21
+ @auth_type = 'token'
22
+ end
23
+ raise ArgumentError, 'Auth token or user credentials are required' if (@token.nil? && (@email.nil? || @password.nil?))
16
24
  set_up_connection
17
25
  end
18
26
 
@@ -41,14 +49,25 @@ module BulutfonSDK
41
49
  def uri_parse(params, path)
42
50
  request_path = "#{@config.host}/#{path}"
43
51
  uri = URI.parse(request_path)
44
- params[:access_token] = @token
52
+ encrypt_token = params.delete(:encrypt_token)
53
+ id = params.delete(:id)
54
+ if @auth_type == 'credentials'
55
+ params[:email] = @email
56
+ params[:password] = @password
57
+ else
58
+ if encrypt_token && id.present?
59
+ params[:access_token] = Digest::SHA1.hexdigest(@token.to_s + id.to_s)
60
+ else
61
+ params[:access_token] = @token
62
+ end
63
+ end
45
64
  uri
46
65
  end
47
66
 
48
67
  ##
49
68
  # Prepare http request for file saving
50
- def save_file(method, path, save_path)
51
- uri = prepare_uri(path)
69
+ def save_file(method, path, save_path, params = {})
70
+ uri = prepare_uri(path, params)
52
71
  method_class = Net::HTTP.const_get method.to_s.capitalize
53
72
  request = method_class.new(uri.to_s, HTTP_HEADERS)
54
73
  response = connect_and_send(request, is_file: true )
@@ -13,47 +13,47 @@ module BulutfonSDK
13
13
  end
14
14
 
15
15
  def messages
16
- BulutfonSDK::REST::Message.new(@token)
16
+ BulutfonSDK::REST::Message.new(@token || @email, @password)
17
17
  end
18
18
 
19
19
  def message_titles
20
- BulutfonSDK::REST::MessageTitle.new(@token)
20
+ BulutfonSDK::REST::MessageTitle.new(@token || @email, @password)
21
21
  end
22
22
 
23
23
  def extensions
24
- BulutfonSDK::REST::Extension.new(@token)
24
+ BulutfonSDK::REST::Extension.new(@token || @email, @password)
25
25
  end
26
26
 
27
27
  def dids
28
- BulutfonSDK::REST::Did.new(@token)
28
+ BulutfonSDK::REST::Did.new(@token || @email, @password)
29
29
  end
30
30
 
31
31
  def groups
32
- BulutfonSDK::REST::Group.new(@token)
32
+ BulutfonSDK::REST::Group.new(@token || @email, @password)
33
33
  end
34
34
 
35
35
  def cdrs
36
- BulutfonSDK::REST::Cdr.new(@token)
36
+ BulutfonSDK::REST::Cdr.new(@token || @email, @password)
37
37
  end
38
38
 
39
39
  def call_records
40
- BulutfonSDK::REST::CallRecord.new(@token)
40
+ BulutfonSDK::REST::CallRecord.new(@token || @email, @password)
41
41
  end
42
42
 
43
43
  def incoming_faxes
44
- BulutfonSDK::REST::IncomingFax.new(@token)
44
+ BulutfonSDK::REST::IncomingFax.new(@token || @email, @password)
45
45
  end
46
46
 
47
47
  def outgoing_faxes
48
- BulutfonSDK::REST::OutgoingFax.new(@token)
48
+ BulutfonSDK::REST::OutgoingFax.new(@token || @email, @password)
49
49
  end
50
50
 
51
51
  def announcements
52
- BulutfonSDK::REST::Announcement.new(@token)
52
+ BulutfonSDK::REST::Announcement.new(@token || @email, @password)
53
53
  end
54
54
 
55
55
  def automatic_calls
56
- BulutfonSDK::REST::AutomaticCall.new(@token)
56
+ BulutfonSDK::REST::AutomaticCall.new(@token || @email, @password)
57
57
  end
58
58
 
59
59
  end
@@ -9,18 +9,18 @@ module BulutfonSDK
9
9
  @resource = 'call-records'
10
10
  end
11
11
 
12
- def get( uuid )
13
- uri = prepare_uri("#{@resource}/#{uuid}")
12
+ def get( uuid, encrypt_token = false )
13
+ uri = prepare_uri("#{@resource}/#{uuid}", {encrypt_token: encrypt_token, id: uuid})
14
14
  { download_path: uri.to_s }
15
15
  end
16
16
 
17
- def get_stream( uuid)
18
- uri = prepare_uri("#{@resource}/#{uuid}/stream")
17
+ def get_stream( uuid, encrypt_token = false )
18
+ uri = prepare_uri("#{@resource}/#{uuid}/stream", {encrypt_token: encrypt_token, id: uuid})
19
19
  { download_path: uri.to_s }
20
20
  end
21
21
 
22
- def save( uuid, save_path)
23
- save_file( 'get', "#{@resource}/#{uuid}", save_path)
22
+ def save( uuid, save_path, encrypt_token = false)
23
+ save_file( 'get', "#{@resource}/#{uuid}", save_path, {encrypt_token: encrypt_token, id: uuid})
24
24
  end
25
25
 
26
26
  end
@@ -1,3 +1,3 @@
1
1
  module BulutfonSDK
2
- VERSION = '1.2.1'
2
+ VERSION = '1.3.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bulutfon_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ismail Akbudak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-19 00:00:00.000000000 Z
11
+ date: 2016-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json