ringcentral_sdk 2.0.0 → 2.0.1
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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/ringcentral_sdk.rb +1 -7
- data/lib/ringcentral_sdk/rest/client.rb +0 -1
- data/lib/ringcentral_sdk/rest/subscription.rb +13 -13
- data/test/test_base.rb +54 -0
- data/test/test_event.rb +2 -2
- data/test/test_extension_presence.rb +0 -11
- data/test/test_subscription.rb +1 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 862737f88ab2fb10fb96c6f606b611bf74492107
|
4
|
+
data.tar.gz: 6d2fdc609db3b0f27b33e783989933bca33c25bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f458a48827b77691e2a35cb34e4bb587c4a756afe2849032d731be462d60816fe240265669e07ed24fe3d7e8da1f0b546051b954baf6abc60093e803a7f1e6e
|
7
|
+
data.tar.gz: 54d1f7f38b78b233dac0b41f39a5284970adbd0a6385f9b8ab30403ec917b31d41d327c5b6eaafee99875712e75e7fd4bae807a2933d02063fde890fd89ce8db
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ringcentral_sdk (2.0.
|
4
|
+
ringcentral_sdk (2.0.1)
|
5
5
|
dotenv (~> 2.1, >= 2.1.0)
|
6
6
|
faraday (~> 0, >= 0)
|
7
7
|
faraday_middleware (~> 0, >= 0)
|
@@ -81,7 +81,7 @@ GEM
|
|
81
81
|
faraday (~> 0.9, >= 0.9)
|
82
82
|
faraday_middleware (~> 0, >= 0)
|
83
83
|
faraday_middleware-request-retry (0.1.0)
|
84
|
-
faraday (~> 0
|
84
|
+
faraday (~> 0, >= 0)
|
85
85
|
faraday_middleware (~> 0, >= 0)
|
86
86
|
hitimes (1.2.4)
|
87
87
|
httpclient (2.8.3)
|
data/lib/ringcentral_sdk.rb
CHANGED
@@ -1,15 +1,9 @@
|
|
1
1
|
# RingCentralSdk is a SDK for the RingCentral REST API
|
2
2
|
module RingCentralSdk
|
3
|
-
VERSION = '2.0.
|
3
|
+
VERSION = '2.0.1'.freeze
|
4
4
|
|
5
5
|
RC_SERVER_PRODUCTION = 'https://platform.ringcentral.com'.freeze
|
6
6
|
RC_SERVER_SANDBOX = 'https://platform.devtest.ringcentral.com'.freeze
|
7
7
|
|
8
8
|
autoload :REST, 'ringcentral_sdk/rest'
|
9
|
-
|
10
|
-
class << self
|
11
|
-
def new(app_key, app_secret, server_url = RC_SERVER_SANDBOX, opts = {})
|
12
|
-
RingCentralSdk::REST::Client.new(app_key, app_secret, server_url, opts)
|
13
|
-
end
|
14
|
-
end
|
15
9
|
end
|
@@ -18,7 +18,7 @@ module RingCentralSdk
|
|
18
18
|
attr_reader :event_filters
|
19
19
|
|
20
20
|
def initialize(client)
|
21
|
-
@
|
21
|
+
@client = client
|
22
22
|
@event_filters = []
|
23
23
|
@_timeout = nil
|
24
24
|
@_subscription = nil_subscription
|
@@ -69,11 +69,11 @@ module RingCentralSdk
|
|
69
69
|
raise 'Events are undefined' unless @event_filters.is_a?(Array) && !@event_filters.empty?
|
70
70
|
|
71
71
|
begin
|
72
|
-
response = @
|
72
|
+
response = @client.http.post do |req|
|
73
73
|
req.url 'subscription'
|
74
74
|
req.headers['Content-Type'] = 'application/json'
|
75
75
|
req.body = {
|
76
|
-
eventFilters: @
|
76
|
+
eventFilters: @client.create_urls(@event_filters),
|
77
77
|
deliveryMode: { transportType: 'PubNub' }
|
78
78
|
}
|
79
79
|
end
|
@@ -98,7 +98,7 @@ module RingCentralSdk
|
|
98
98
|
_clear_timeout
|
99
99
|
|
100
100
|
begin
|
101
|
-
response = @
|
101
|
+
response = @client.http.post do |req|
|
102
102
|
req.url uri_join(@_subscription['uri'], 'renew')
|
103
103
|
req.headers['Content-Type'] = 'application/json'
|
104
104
|
end
|
@@ -109,7 +109,7 @@ module RingCentralSdk
|
|
109
109
|
|
110
110
|
return response
|
111
111
|
rescue StandardError => e
|
112
|
-
@client.logger.warn "RingCentralSdk::REST::Subscription: RENEW_ERROR #{e}"
|
112
|
+
@client.config.logger.warn "RingCentralSdk::REST::Subscription: RENEW_ERROR #{e}"
|
113
113
|
reset
|
114
114
|
changed
|
115
115
|
notify_observers e
|
@@ -121,7 +121,7 @@ module RingCentralSdk
|
|
121
121
|
raise 'Subscription is not alive' unless alive?
|
122
122
|
|
123
123
|
begin
|
124
|
-
response = @
|
124
|
+
response = @client.http.delete do |req|
|
125
125
|
req.url 'subscription/' + @_subscription['id'].to_s
|
126
126
|
end
|
127
127
|
reset
|
@@ -179,19 +179,19 @@ module RingCentralSdk
|
|
179
179
|
|
180
180
|
callback = Pubnub::SubscribeCallback.new(
|
181
181
|
message: ->(envelope) {
|
182
|
-
@
|
182
|
+
@client.config.logger.debug "MESSAGE: #{envelope.result[:data]}"
|
183
183
|
_notify envelope.result[:data][:message]
|
184
184
|
changed
|
185
185
|
},
|
186
186
|
presence: ->(envelope) {
|
187
|
-
@
|
187
|
+
@client.config.logger.info "PRESENCE: #{envelope.result[:data]}"
|
188
188
|
},
|
189
189
|
status: lambda do |envelope|
|
190
|
-
@
|
190
|
+
@client.config.logger.info "\n\n\n#{envelope.status}\n\n\n"
|
191
191
|
if envelope.error?
|
192
|
-
@
|
192
|
+
@client.config.logger.info "ERROR! #{envelope.status[:category]}"
|
193
193
|
elsif envelope.status[:last_timetoken] == 0 # Connected!
|
194
|
-
@
|
194
|
+
@client.config.logger.info('CONNECTED!')
|
195
195
|
end
|
196
196
|
end
|
197
197
|
)
|
@@ -201,12 +201,12 @@ module RingCentralSdk
|
|
201
201
|
@_pubnub.subscribe(
|
202
202
|
channels: @_subscription['deliveryMode']['address']
|
203
203
|
)
|
204
|
-
@
|
204
|
+
@client.config.logger.debug('SUBSCRIBED')
|
205
205
|
end
|
206
206
|
|
207
207
|
def _notify(message)
|
208
208
|
count = count_observers
|
209
|
-
@
|
209
|
+
@client.config.logger.debug("RingCentralSdk::REST::Subscription NOTIFYING '#{count}' observers")
|
210
210
|
|
211
211
|
message = _decrypt message
|
212
212
|
changed
|
data/test/test_base.rb
CHANGED
@@ -10,3 +10,57 @@ RingCentralSdk::REST::Client.new do |config|
|
|
10
10
|
config.app_secret = 'my_app_secret'
|
11
11
|
config.server_url = RingCentralSdk::RC_SERVER_SANDBOX
|
12
12
|
end
|
13
|
+
|
14
|
+
module RingCentralSdk
|
15
|
+
module Test
|
16
|
+
class ClientUtil
|
17
|
+
def new_client_with_auth
|
18
|
+
client = new_client
|
19
|
+
client.set_oauth2_client
|
20
|
+
|
21
|
+
stub_token_hash = data_auth_token_with_refresh
|
22
|
+
stub_token = OAuth2::AccessToken.from_hash(client.oauth2client, stub_token_hash)
|
23
|
+
|
24
|
+
client.oauth2client.password.stubs(:get_token).returns(stub_token)
|
25
|
+
|
26
|
+
client.authorize('my_test_username', 'my_test_extension', 'my_test_password')
|
27
|
+
end
|
28
|
+
|
29
|
+
def client_stub_auth(client)
|
30
|
+
client.set_oauth2_client
|
31
|
+
|
32
|
+
stub_token_hash = data_auth_token_with_refresh
|
33
|
+
stub_token = OAuth2::AccessToken.from_hash(client.oauth2client, stub_token_hash)
|
34
|
+
|
35
|
+
client.oauth2client.password.stubs(:get_token).returns(stub_token)
|
36
|
+
|
37
|
+
client.authorize('my_test_username', 'my_test_extension', 'my_test_password')
|
38
|
+
client
|
39
|
+
end
|
40
|
+
|
41
|
+
def data_auth_token_with_refresh
|
42
|
+
json = '{
|
43
|
+
"access_token": "my_test_access_token_with_refresh",
|
44
|
+
"token_type": "bearer",
|
45
|
+
"expires_in": 3599,
|
46
|
+
"refresh_token": "my_test_refresh_token",
|
47
|
+
"refresh_token_expires_in": 604799,
|
48
|
+
"scope": "ReadCallLog DirectRingOut EditCallLog ReadAccounts Contacts EditExtensions ReadContacts SMS EditPresence RingOut EditCustomData ReadPresence EditPaymentInfo Interoperability Accounts NumberLookup InternalMessages ReadCallRecording EditAccounts Faxes EditReportingSettings ReadClientInfo EditMessages VoipCalling ReadMessages",
|
49
|
+
"owner_id": "1234567890"
|
50
|
+
}'
|
51
|
+
JSON.parse(json, symbolize_names: true)
|
52
|
+
end
|
53
|
+
|
54
|
+
def data_auth_token_without_refresh
|
55
|
+
json = '{
|
56
|
+
"access_token": "my_test_access_token_without_refresh",
|
57
|
+
"token_type": "bearer",
|
58
|
+
"expires_in": 3599,
|
59
|
+
"scope": "ReadCallLog DirectRingOut EditCallLog ReadAccounts Contacts EditExtensions ReadContacts SMS EditPresence RingOut EditCustomData ReadPresence EditPaymentInfo Interoperability Accounts NumberLookup InternalMessages ReadCallRecording EditAccounts Faxes EditReportingSettings ReadClientInfo EditMessages VoipCalling ReadMessages",
|
60
|
+
"owner_id": "1234567890"
|
61
|
+
}'
|
62
|
+
JSON.parse(json, symbolize_names: true)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/test/test_event.rb
CHANGED
@@ -9,7 +9,7 @@ class RingCentralSdkRESTEventTest < Test::Unit::TestCase
|
|
9
9
|
|
10
10
|
assert_equal '11112222-3333-4444-5555-666677778888', event.doc.getAttr('uuid')
|
11
11
|
assert_equal 1, event.new_sms_count
|
12
|
-
assert_equal -1, event.new_fax_count
|
12
|
+
assert_equal (-1), event.new_fax_count
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_new_fax_count
|
@@ -18,7 +18,7 @@ class RingCentralSdkRESTEventTest < Test::Unit::TestCase
|
|
18
18
|
event = RingCentralSdk::REST::Event.new data
|
19
19
|
|
20
20
|
assert_equal '11112222-3333-4444-5555-666677778888', event.doc.getAttr('uuid')
|
21
|
-
assert_equal -1, event.new_sms_count
|
21
|
+
assert_equal (-1), event.new_sms_count
|
22
22
|
assert_equal 1, event.new_fax_count
|
23
23
|
end
|
24
24
|
|
@@ -12,17 +12,6 @@ class RingCentralSdkRESTExtensionPresenceTest < Test::Unit::TestCase
|
|
12
12
|
def test_department_calls_enable
|
13
13
|
presence = RingCentralSdk::REST::ExtensionPresence.new(111_111)
|
14
14
|
|
15
|
-
new_statuses = {
|
16
|
-
enable: {
|
17
|
-
'DoNotAcceptAnyCalls' => 'TakeDepartmentCallsOnly',
|
18
|
-
'DoNotAcceptDepartmentCalls' => 'TakeAllCalls'
|
19
|
-
},
|
20
|
-
disable: {
|
21
|
-
'TakeAllCalls' => 'DoNotAcceptDepartmentCalls',
|
22
|
-
'TakeDepartmentCallsOnly' => 'DoNotAcceptAnyCalls'
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
15
|
cur_status = 'TakeAllCalls'
|
27
16
|
assert_equal \
|
28
17
|
'DoNotAcceptDepartmentCalls', \
|
data/test/test_subscription.rb
CHANGED
@@ -81,8 +81,7 @@ class RingCentralSdkSubscriptionTest < Test::Unit::TestCase
|
|
81
81
|
stub_token = OAuth2::AccessToken.from_hash(rcsdk.oauth2client, stub_token_hash)
|
82
82
|
|
83
83
|
rcsdk.oauth2client.password.stubs(:get_token).returns(stub_token)
|
84
|
-
|
85
|
-
token = rcsdk.authorize('my_test_username', 'my_test_extension', 'my_test_password')
|
84
|
+
rcsdk.authorize('my_test_username', 'my_test_extension', 'my_test_password')
|
86
85
|
rcsdk
|
87
86
|
end
|
88
87
|
|