nexmo 6.2.0 → 7.1.2

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -3
  3. data/lib/nexmo.rb +2 -0
  4. data/lib/nexmo/abstract_authentication.rb +2 -2
  5. data/lib/nexmo/account.rb +6 -1
  6. data/lib/nexmo/alerts.rb +6 -1
  7. data/lib/nexmo/applications.rb +24 -3
  8. data/lib/nexmo/applications/list_response.rb +2 -0
  9. data/lib/nexmo/authentication_error.rb +2 -0
  10. data/lib/nexmo/basic.rb +2 -0
  11. data/lib/nexmo/bearer_token.rb +1 -0
  12. data/lib/nexmo/client.rb +46 -23
  13. data/lib/nexmo/client_error.rb +2 -0
  14. data/lib/nexmo/config.rb +49 -9
  15. data/lib/nexmo/conversations.rb +24 -0
  16. data/lib/nexmo/conversations/events.rb +1 -0
  17. data/lib/nexmo/conversations/legs.rb +1 -0
  18. data/lib/nexmo/conversations/members.rb +1 -0
  19. data/lib/nexmo/conversations/users.rb +1 -0
  20. data/lib/nexmo/conversions.rb +4 -0
  21. data/lib/nexmo/entity.rb +3 -1
  22. data/lib/nexmo/error.rb +2 -0
  23. data/lib/nexmo/errors.rb +8 -0
  24. data/lib/nexmo/files.rb +7 -2
  25. data/lib/nexmo/form_data.rb +2 -0
  26. data/lib/nexmo/gsm7.rb +2 -2
  27. data/lib/nexmo/http.rb +12 -3
  28. data/lib/nexmo/json.rb +4 -0
  29. data/lib/nexmo/jwt.rb +5 -1
  30. data/lib/nexmo/key_secret_params.rb +10 -2
  31. data/lib/nexmo/keys.rb +7 -1
  32. data/lib/nexmo/logger.rb +14 -4
  33. data/lib/nexmo/messages.rb +7 -1
  34. data/lib/nexmo/namespace.rb +15 -18
  35. data/lib/nexmo/number_insight.rb +21 -6
  36. data/lib/nexmo/numbers.rb +2 -1
  37. data/lib/nexmo/numbers/list_response.rb +2 -0
  38. data/lib/nexmo/numbers/response.rb +1 -0
  39. data/lib/nexmo/params.rb +1 -0
  40. data/lib/nexmo/pricing.rb +2 -1
  41. data/lib/nexmo/pricing_types.rb +1 -0
  42. data/lib/nexmo/redact.rb +1 -0
  43. data/lib/nexmo/response.rb +2 -0
  44. data/lib/nexmo/secrets.rb +1 -0
  45. data/lib/nexmo/secrets/list_response.rb +2 -0
  46. data/lib/nexmo/server_error.rb +2 -0
  47. data/lib/nexmo/signature.rb +1 -0
  48. data/lib/nexmo/sms.rb +16 -10
  49. data/lib/nexmo/tfa.rb +2 -1
  50. data/lib/nexmo/user_agent.rb +1 -0
  51. data/lib/nexmo/verify.rb +93 -17
  52. data/lib/nexmo/version.rb +3 -1
  53. data/lib/nexmo/{calls.rb → voice.rb} +12 -11
  54. data/lib/nexmo/{calls → voice}/dtmf.rb +2 -1
  55. data/lib/nexmo/{calls → voice}/list_response.rb +3 -1
  56. data/lib/nexmo/{calls → voice}/stream.rb +2 -1
  57. data/lib/nexmo/{calls → voice}/talk.rb +2 -1
  58. data/nexmo.gemspec +1 -0
  59. metadata +22 -11
  60. data/lib/nexmo/number_insight/response.rb +0 -5
  61. data/lib/nexmo/sms/response.rb +0 -7
  62. data/lib/nexmo/verify/response.rb +0 -5
@@ -1,3 +1,5 @@
1
+ # typed: strong
2
+
1
3
  module Nexmo
2
- VERSION = '6.2.0'
4
+ VERSION = '7.1.2'
3
5
  end
@@ -1,7 +1,8 @@
1
+ # typed: true
1
2
  # frozen_string_literal: true
2
3
 
3
4
  module Nexmo
4
- class Calls < Namespace
5
+ class Voice < Namespace
5
6
  self.authentication = BearerToken
6
7
 
7
8
  self.request_body = JSON
@@ -9,7 +10,7 @@ module Nexmo
9
10
  # Create an outbound Call.
10
11
  #
11
12
  # @example
12
- # response = client.calls.create({
13
+ # response = client.voice.create({
13
14
  # to: [{type: 'phone', number: '14843331234'}],
14
15
  # from: {type: 'phone', number: '14843335555'},
15
16
  # answer_url: ['https://example.com/answer']
@@ -60,7 +61,7 @@ module Nexmo
60
61
  # Get details of your calls.
61
62
  #
62
63
  # @example
63
- # response = client.calls.list
64
+ # response = client.voice.list
64
65
  # response.each do |item|
65
66
  # puts "#{item.uuid} #{item.direction} #{item.status}"
66
67
  # end
@@ -99,7 +100,7 @@ module Nexmo
99
100
  # Get detail of a specific call.
100
101
  #
101
102
  # @example
102
- # response = client.calls.get(id)
103
+ # response = client.voice.get(id)
103
104
  #
104
105
  # @param [String] id
105
106
  #
@@ -114,7 +115,7 @@ module Nexmo
114
115
  # Modify an in progress call.
115
116
  #
116
117
  # @example
117
- # response = client.calls.update(id, action: 'hangup')
118
+ # response = client.voice.update(id, action: 'hangup')
118
119
  #
119
120
  # @option params [required, String] :action
120
121
  #
@@ -135,7 +136,7 @@ module Nexmo
135
136
  # Hangup an in progress call.
136
137
  #
137
138
  # @example
138
- # response = client.calls.hangup(id)
139
+ # response = client.voice.hangup(id)
139
140
  #
140
141
  # @param [String] id
141
142
  #
@@ -150,7 +151,7 @@ module Nexmo
150
151
  # Mute an in progress call.
151
152
  #
152
153
  # @example
153
- # response = client.calls.mute(id)
154
+ # response = client.voice.mute(id)
154
155
  #
155
156
  # @param [String] id
156
157
  #
@@ -165,7 +166,7 @@ module Nexmo
165
166
  # Unmute an in progress call.
166
167
  #
167
168
  # @example
168
- # response = client.calls.unmute(id)
169
+ # response = client.voice.unmute(id)
169
170
  #
170
171
  # @param [String] id
171
172
  #
@@ -180,7 +181,7 @@ module Nexmo
180
181
  # Earmuff an in progress call.
181
182
  #
182
183
  # @example
183
- # response = client.calls.earmuff(id)
184
+ # response = client.voice.earmuff(id)
184
185
  #
185
186
  # @param [String] id
186
187
  #
@@ -195,7 +196,7 @@ module Nexmo
195
196
  # Unearmuff an in progress call.
196
197
  #
197
198
  # @example
198
- # response = client.calls.unearmuff(id)
199
+ # response = client.voice.unearmuff(id)
199
200
  #
200
201
  # @param [String] id
201
202
  #
@@ -215,7 +216,7 @@ module Nexmo
215
216
  # url: ['https://example.com/ncco.json']
216
217
  # }
217
218
  #
218
- # response = client.calls.transfer(id, destination: destination)
219
+ # response = client.voice.transfer(id, destination: destination)
219
220
  #
220
221
  # @param [String] id
221
222
  # @param [Hash] destination
@@ -1,7 +1,8 @@
1
+ # typed: true
1
2
  # frozen_string_literal: true
2
3
 
3
4
  module Nexmo
4
- class Calls::DTMF < Namespace
5
+ class Voice::DTMF < Namespace
5
6
  self.authentication = BearerToken
6
7
 
7
8
  self.request_body = JSON
@@ -1,4 +1,6 @@
1
- class Nexmo::Calls::ListResponse < Nexmo::Response
1
+ # typed: ignore
2
+
3
+ class Nexmo::Voice::ListResponse < Nexmo::Response
2
4
  include Enumerable
3
5
 
4
6
  def each
@@ -1,7 +1,8 @@
1
+ # typed: true
1
2
  # frozen_string_literal: true
2
3
 
3
4
  module Nexmo
4
- class Calls::Stream < Namespace
5
+ class Voice::Stream < Namespace
5
6
  self.authentication = BearerToken
6
7
 
7
8
  self.request_body = JSON
@@ -1,7 +1,8 @@
1
+ # typed: true
1
2
  # frozen_string_literal: true
2
3
 
3
4
  module Nexmo
4
- class Calls::Talk < Namespace
5
+ class Voice::Talk < Namespace
5
6
  self.authentication = BearerToken
6
7
 
7
8
  self.request_body = JSON
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.required_ruby_version = '>= 2.5.0'
15
15
  s.add_dependency('jwt', '~> 2')
16
16
  s.add_dependency('zeitwerk', '~> 2', '>= 2.2')
17
+ s.add_dependency('sorbet-runtime', '~> 0.5')
17
18
  s.require_path = 'lib'
18
19
  s.metadata = {
19
20
  'homepage' => 'https://github.com/Nexmo/nexmo-ruby',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexmo
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.0
4
+ version: 7.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nexmo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-07 00:00:00.000000000 Z
11
+ date: 2020-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -44,6 +44,20 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '2.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: sorbet-runtime
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.5'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0.5'
47
61
  description: Nexmo Client Library for Ruby
48
62
  email:
49
63
  - devrel@nexmo.com
@@ -62,11 +76,6 @@ files:
62
76
  - lib/nexmo/authentication_error.rb
63
77
  - lib/nexmo/basic.rb
64
78
  - lib/nexmo/bearer_token.rb
65
- - lib/nexmo/calls.rb
66
- - lib/nexmo/calls/dtmf.rb
67
- - lib/nexmo/calls/list_response.rb
68
- - lib/nexmo/calls/stream.rb
69
- - lib/nexmo/calls/talk.rb
70
79
  - lib/nexmo/client.rb
71
80
  - lib/nexmo/client_error.rb
72
81
  - lib/nexmo/config.rb
@@ -91,7 +100,6 @@ files:
91
100
  - lib/nexmo/messages.rb
92
101
  - lib/nexmo/namespace.rb
93
102
  - lib/nexmo/number_insight.rb
94
- - lib/nexmo/number_insight/response.rb
95
103
  - lib/nexmo/numbers.rb
96
104
  - lib/nexmo/numbers/list_response.rb
97
105
  - lib/nexmo/numbers/response.rb
@@ -105,12 +113,15 @@ files:
105
113
  - lib/nexmo/server_error.rb
106
114
  - lib/nexmo/signature.rb
107
115
  - lib/nexmo/sms.rb
108
- - lib/nexmo/sms/response.rb
109
116
  - lib/nexmo/tfa.rb
110
117
  - lib/nexmo/user_agent.rb
111
118
  - lib/nexmo/verify.rb
112
- - lib/nexmo/verify/response.rb
113
119
  - lib/nexmo/version.rb
120
+ - lib/nexmo/voice.rb
121
+ - lib/nexmo/voice/dtmf.rb
122
+ - lib/nexmo/voice/list_response.rb
123
+ - lib/nexmo/voice/stream.rb
124
+ - lib/nexmo/voice/talk.rb
114
125
  - nexmo.gemspec
115
126
  homepage: https://github.com/Nexmo/nexmo-ruby
116
127
  licenses:
@@ -136,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
147
  - !ruby/object:Gem::Version
137
148
  version: '0'
138
149
  requirements: []
139
- rubygems_version: 3.1.2
150
+ rubygems_version: 3.0.0
140
151
  signing_key:
141
152
  specification_version: 4
142
153
  summary: This is the Ruby client library for Nexmo's API. To use it you'll need a
@@ -1,5 +0,0 @@
1
- class Nexmo::NumberInsight::Response < Nexmo::Response
2
- def success?
3
- status.zero?
4
- end
5
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Nexmo::SMS::Response < Nexmo::Response
4
- def success?
5
- messages.all? { |item| item.status == '0' }
6
- end
7
- end
@@ -1,5 +0,0 @@
1
- class Nexmo::Verify::Response < Nexmo::Response
2
- def success?
3
- respond_to?(:status) && !respond_to?(:error_text)
4
- end
5
- end