plivo 0.2.9 → 0.2.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/plivo.rb +154 -137
  2. metadata +8 -8
data/lib/plivo.rb CHANGED
@@ -75,346 +75,361 @@ module Plivo
75
75
 
76
76
  ## Accounts ##
77
77
  def get_account(params={})
78
- return request('GET', '/')
78
+ return request('GET', "/", params)
79
79
  end
80
-
80
+
81
81
  def modify_account(params={})
82
- return request('POST', '/', params)
82
+ return request('POST', "/", params)
83
83
  end
84
-
84
+
85
85
  def get_subaccounts(params={})
86
- return request('GET', '/Subaccount/')
86
+ return request('GET', "/Subaccount/", params)
87
87
  end
88
-
88
+
89
89
  def create_subaccount(params={})
90
- return request('POST', '/Subaccount/', params)
90
+ return request('POST', "/Subaccount/", params)
91
91
  end
92
-
92
+
93
93
  def get_subaccount(params={})
94
94
  subauth_id = params.delete("subauth_id")
95
- return request('GET', '/Subaccount/#{subauth_id}/')
95
+ return request('GET', "/Subaccount/#{subauth_id}/", params)
96
96
  end
97
-
97
+
98
98
  def modify_subaccount(params={})
99
99
  subauth_id = params.delete("subauth_id")
100
- return request('POST', '/Subaccount/#{subauth_id}/', params)
100
+ return request('POST', "/Subaccount/#{subauth_id}/", params)
101
101
  end
102
-
102
+
103
103
  def delete_subaccount(params={})
104
104
  subauth_id = params.delete("subauth_id")
105
- return request('DELETE', '/Subaccount/#{subauth_id}/')
105
+ return request('DELETE', "/Subaccount/#{subauth_id}/", params)
106
106
  end
107
-
107
+
108
108
  ## Applications ##
109
109
  def get_applications(params={})
110
- return request('GET', '/Application/', params)
110
+ return request('GET', "/Application/", params)
111
111
  end
112
-
112
+
113
113
  def create_application(params={})
114
- return request('POST', '/Application/', params)
114
+ return request('POST', "/Application/", params)
115
115
  end
116
-
116
+
117
117
  def get_application(params={})
118
118
  app_id = params.delete("app_id")
119
- return request('GET', '/Application/#{app_id}/')
119
+ return request('GET', "/Application/#{app_id}/", params)
120
120
  end
121
-
121
+
122
122
  def modify_application(params={})
123
123
  app_id = params.delete("app_id")
124
- return request('POST', '/Application/#{app_id}/', params)
124
+ return request('POST', "/Application/#{app_id}/", params)
125
125
  end
126
-
126
+
127
127
  def delete_application(params={})
128
128
  app_id = params.delete("app_id")
129
- return request('DELETE', '/Application/#{app_id}/')
129
+ return request('DELETE', "/Application/#{app_id}/", params)
130
130
  end
131
-
131
+
132
132
  ## Numbers ##
133
133
  def get_numbers(params={})
134
- return request('GET', '/Number/', params)
134
+ return request('GET', "/Number/", params)
135
135
  end
136
-
136
+
137
137
  def search_numbers(params={})
138
- return request('GET', '/AvailableNumber/', params)
138
+ return request('GET', "/AvailableNumber/", params)
139
139
  end
140
-
140
+
141
141
  def get_number(params={})
142
142
  number = params.delete("number")
143
- return request('GET', '/Number/#{number}/')
143
+ return request('GET', "/Number/#{number}/", params)
144
144
  end
145
-
145
+
146
146
  def rent_number(params={})
147
147
  number = params.delete("number")
148
- return request('POST', '/AvailableNumber/#{number}/')
148
+ return request('POST', "/AvailableNumber/#{number}/")
149
149
  end
150
-
150
+
151
151
  def unrent_number(params={})
152
152
  number = params.delete("number")
153
- return request('DELETE', '/Number/#{number}/')
153
+ return request('DELETE', "/Number/#{number}/", params)
154
154
  end
155
-
155
+
156
156
  def link_application_number(params={})
157
157
  number = params.delete("number")
158
- return request('POST', '/Number/#{number}/', params)
158
+ return request('POST', "/Number/#{number}/", params)
159
159
  end
160
-
160
+
161
161
  def unlink_application_number(params={})
162
162
  number = params.delete("number")
163
163
  params = {"app_id" => ""}
164
- return request('POST', '/Number/#{number}/', params)
164
+ return request('POST', "/Number/#{number}/", params)
165
165
  end
166
166
 
167
- ## Schedule ##
168
- def get_scheduled_tasks(params={})
169
- return request('GET', '/Schedule/')
167
+ def get_number_group(params={})
168
+ return request('GET', "/AvailableNumberGroup/", params)
170
169
  end
171
170
 
172
- def cancel_scheduled_task(params={})
173
- task_id = params.delete("task_id")
174
- return request('DELETE', '/Schedule/#{task_id}/')
171
+ def get_number_group_details(params={})
172
+ group_id = params.delete('group_id')
173
+ return request('GET', "/AvailableNumberGroup/#{group_id}/", params)
175
174
  end
176
175
 
176
+ def rent_from_number_group(params={})
177
+ group_id = params.delete('group_id')
178
+ return request('POST', "/AvailableNumberGroup/#{group_id}/", params)
179
+ end
180
+
177
181
  ## Calls ##
178
182
  def get_cdrs(params={})
179
- return request('GET', '/Call/', params)
183
+ return request('GET', "/Call/", params)
180
184
  end
181
-
185
+
182
186
  def get_cdr(params={})
183
187
  record_id = params.delete('record_id')
184
- return request('GET', '/Call/#{record_id}/')
188
+ return request('GET', "/Call/#{record_id}/", params)
185
189
  end
186
-
190
+
187
191
  def get_live_calls(params={})
188
- return request('GET', '/Call/', params={'status'=>'live'})
192
+ params["status"] = "live"
193
+ return request('GET', "/Call/", params)
189
194
  end
190
-
195
+
191
196
  def get_live_call(params={})
192
197
  call_uuid = params.delete('call_uuid')
193
- return request('GET', '/Call/#{call_uuid}/', params={'status'=>'live'})
198
+ params["status"] = "live"
199
+ return request('GET', "/Call/#{call_uuid}/", params)
194
200
  end
195
-
201
+
196
202
  def make_call(params={})
197
- return request('POST', '/Call/', params)
203
+ return request('POST', "/Call/", params)
198
204
  end
199
-
205
+
200
206
  def hangup_all_calls(params={})
201
- return request('DELETE', '/Call/')
207
+ return request('DELETE', "/Call/", params)
202
208
  end
203
-
209
+
204
210
  def transfer_call(params={})
205
211
  call_uuid = params.delete('call_uuid')
206
- return request('POST', '/Call/#{call_uuid}/', params)
212
+ return request('POST', "/Call/#{call_uuid}/", params)
207
213
  end
208
-
214
+
209
215
  def hangup_call(params={})
210
216
  call_uuid = params.delete('call_uuid')
211
- return request('DELETE', '/Call/#{call_uuid}/')
217
+ return request('DELETE', "/Call/#{call_uuid}/", params)
212
218
  end
213
-
219
+
214
220
  def record(params={})
215
221
  call_uuid = params.delete('call_uuid')
216
- return request('POST', '/Call/#{call_uuid}/Record/', params)
222
+ return request('POST', "/Call/#{call_uuid}/Record/", params)
217
223
  end
218
224
 
219
225
  def stop_record(params={})
220
226
  call_uuid = params.delete('call_uuid')
221
- return request('DELETE', '/Call/#{call_uuid}/Record/')
227
+ return request('DELETE', "/Call/#{call_uuid}/Record/", params)
222
228
  end
223
-
229
+
224
230
  def play(params={})
225
231
  call_uuid = params.delete('call_uuid')
226
- return request('POST', '/Call/#{call_uuid}/Play/', params)
232
+ return request('POST', "/Call/#{call_uuid}/Play/", params)
227
233
  end
228
234
 
229
235
  def stop_play(params={})
230
236
  call_uuid = params.delete('call_uuid')
231
- return request('DELETE', '/Call/#{call_uuid}/Play/')
237
+ return request('DELETE', "/Call/#{call_uuid}/Play/", params)
232
238
  end
233
-
239
+
234
240
  def speak(params={})
235
241
  call_uuid = params.delete('call_uuid')
236
- return request('POST', '/Call/#{call_uuid}/Speak/', params)
242
+ return request('POST', "/Call/#{call_uuid}/Speak/", params)
237
243
  end
238
244
 
239
245
  def send_digits(params={})
240
246
  call_uuid = params.delete('call_uuid')
241
- return request('POST', '/Call/#{call_uuid}/DTMF/', params)
247
+ return request('POST', "/Call/#{call_uuid}/DTMF/", params)
242
248
  end
243
-
249
+
244
250
  ## Calls requests ##
245
251
  def hangup_request(params={})
246
252
  request_uuid = params.delete('request_uuid')
247
- return request('DELETE', '/Request/#{request_uuid}/')
253
+ return request('DELETE', "/Request/#{request_uuid}/", params)
248
254
  end
249
-
255
+
250
256
  ## Conferences ##
251
257
  def get_live_conferences(params={})
252
- return request('GET', '/Conference/', params)
258
+ return request('GET', "/Conference/", params)
253
259
  end
254
-
260
+
255
261
  def hangup_all_conferences(params={})
256
- return request('DELETE', '/Conference/')
262
+ return request('DELETE', "/Conference/", params)
257
263
  end
258
-
264
+
259
265
  def get_live_conference(params={})
260
266
  conference_name = params.delete('conference_name')
261
- return request('GET', '/Conference/#{conference_name}/', params)
267
+ return request('GET', "/Conference/#{conference_name}/", params)
262
268
  end
263
-
269
+
264
270
  def hangup_conference(params={})
265
271
  conference_name = params.delete('conference_name')
266
- return request('DELETE', '/Conference/#{conference_name}/')
272
+ return request('DELETE', "/Conference/#{conference_name}/", params)
267
273
  end
268
-
274
+
269
275
  def hangup_member(params={})
270
276
  conference_name = params.delete('conference_name')
271
277
  member_id = params.delete('member_id')
272
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/')
278
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/", params)
273
279
  end
274
-
280
+
275
281
  def play_member(params={})
276
282
  conference_name = params.delete('conference_name')
277
283
  member_id = params.delete('member_id')
278
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Play/', params)
284
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Play/", params)
279
285
  end
280
286
 
281
287
  def stop_play_member(params={})
282
288
  conference_name = params.delete('conference_name')
283
289
  member_id = params.delete('member_id')
284
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/Play/')
290
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/Play/", params)
285
291
  end
286
-
292
+
287
293
  def speak_member(params={})
288
294
  conference_name = params.delete('conference_name')
289
295
  member_id = params.delete('member_id')
290
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Speak/', params)
296
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Speak/", params)
291
297
  end
292
-
298
+
293
299
  def deaf_member(params={})
294
300
  conference_name = params.delete('conference_name')
295
301
  member_id = params.delete('member_id')
296
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Deaf/')
302
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Deaf/")
297
303
  end
298
-
304
+
299
305
  def undeaf_member(params={})
300
306
  conference_name = params.delete('conference_name')
301
307
  member_id = params.delete('member_id')
302
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/Deaf/')
308
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/Deaf/", params)
303
309
  end
304
-
310
+
305
311
  def mute_member(params={})
306
312
  conference_name = params.delete('conference_name')
307
313
  member_id = params.delete('member_id')
308
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Mute/')
314
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Mute/")
309
315
  end
310
-
316
+
311
317
  def unmute_member(params={})
312
318
  conference_name = params.delete('conference_name')
313
319
  member_id = params.delete('member_id')
314
- return request('DELETE', '/Conference/#{conference_name}/Member/#{member_id}/Mute/')
320
+ return request('DELETE', "/Conference/#{conference_name}/Member/#{member_id}/Mute/", params)
315
321
  end
316
-
322
+
317
323
  def kick_member(params={})
318
324
  conference_name = params.delete('conference_name')
319
325
  member_id = params.delete('member_id')
320
- return request('POST', '/Conference/#{conference_name}/Member/#{member_id}/Kick/')
326
+ return request('POST', "/Conference/#{conference_name}/Member/#{member_id}/Kick/")
321
327
  end
322
-
328
+
323
329
  def record_conference(params={})
324
330
  conference_name = params.delete('conference_name')
325
- return request('POST', '/Conference/#{conference_name}/Record/', params)
331
+ return request('POST', "/Conference/#{conference_name}/Record/", params)
326
332
  end
327
-
333
+
328
334
  def stop_record_conference(params={})
329
335
  conference_name = params.delete('conference_name')
330
- return request('DELETE', '/Conference/#{conference_name}/Record/')
336
+ return request('DELETE', "/Conference/#{conference_name}/Record/", params)
331
337
  end
332
-
338
+
333
339
  ## Recordings ##
334
340
  def get_recordings(params={})
335
- return request('GET', '/Recording/', params)
341
+ return request('GET', "/Recording/", params)
336
342
  end
337
-
343
+
338
344
  def get_recording(params={})
339
345
  recording_id = params.delete('recording_id')
340
- return request('GET', '/Recording/#{recording_id}/')
346
+ return request('GET', "/Recording/#{recording_id}/", params)
341
347
  end
342
-
348
+
343
349
  ## Endpoints ##
344
350
  def get_endpoints(params={})
345
- return request('GET', '/Endpoint/', params)
351
+ return request('GET', "/Endpoint/", params)
346
352
  end
347
-
353
+
348
354
  def create_endpoint(params={})
349
- return request('POST', '/Endpoint/', params)
355
+ return request('POST', "/Endpoint/", params)
350
356
  end
351
-
357
+
352
358
  def get_endpoint(params={})
353
359
  endpoint_id = params.delete('endpoint_id')
354
- return request('GET', '/Endpoint/#{endpoint_id}/')
360
+ return request('GET', "/Endpoint/#{endpoint_id}/", params)
355
361
  end
356
-
362
+
357
363
  def modify_endpoint(params={})
358
364
  endpoint_id = params.delete('endpoint_id')
359
- return request('POST', '/Endpoint/#{endpoint_id}/', params)
365
+ return request('POST', "/Endpoint/#{endpoint_id}/", params)
360
366
  end
361
-
367
+
362
368
  def delete_endpoint(params={})
363
369
  endpoint_id = params.delete('endpoint_id')
364
- return request('DELETE', '/Endpoint/#{endpoint_id}/')
370
+ return request('DELETE', "/Endpoint/#{endpoint_id}/", params)
365
371
  end
366
-
372
+
367
373
  ## Carriers ##
368
374
  def get_carriers(params={})
369
- return request('GET', '/Carrier/', params)
375
+ return request('GET', "/Carrier/", params)
370
376
  end
371
-
377
+
372
378
  def create_carrier(params={})
373
- return request('POST', '/Carrier/', params)
379
+ return request('POST', "/Carrier/", params)
374
380
  end
375
-
381
+
376
382
  def get_carrier(params={})
377
383
  carrier_id = params.delete('carrier_id')
378
- return request('GET', '/Carrier/#{carrier_id}/')
384
+ return request('GET', "/Carrier/#{carrier_id}/", params)
379
385
  end
380
-
386
+
381
387
  def modify_carrier(params={})
382
388
  carrier_id = params.delete('carrier_id')
383
- return request('POST', '/Carrier/#{carrier_id}/', params)
389
+ return request('POST', "/Carrier/#{carrier_id}/", params)
384
390
  end
385
-
391
+
386
392
  def delete_carrier(params={})
387
393
  carrier_id = params.delete('carrier_id')
388
- return request('DELETE', '/Carrier/#{carrier_id}/')
394
+ return request('DELETE', "/Carrier/#{carrier_id}/", params)
389
395
  end
390
-
396
+
391
397
  ## Carrier Routings ##
392
398
  def get_carrier_routings(params={})
393
- return request('GET', '/CarrierRouting/', params)
399
+ return request('GET', "/CarrierRouting/", params)
394
400
  end
395
-
401
+
396
402
  def create_carrier_routing(params={})
397
- return request('POST', '/CarrierRouting/', params)
403
+ return request('POST', "/CarrierRouting/", params)
398
404
  end
399
-
405
+
400
406
  def get_carrier_routing(params={})
401
407
  routing_id = params.delete('routing_id')
402
- return request('GET', '/CarrierRouting/#{routing_id}/')
408
+ return request('GET', "/CarrierRouting/#{routing_id}/", params)
403
409
  end
404
-
410
+
405
411
  def modify_carrier_routing(params={})
406
412
  routing_id = params.delete('routing_id')
407
- return request('POST', '/CarrierRouting/#{routing_id}/', params)
413
+ return request('POST', "/CarrierRouting/#{routing_id}/", params)
408
414
  end
409
-
415
+
410
416
  def delete_carrier_routing(params={})
411
417
  routing_id = params.delete('routing_id')
412
- return request('DELETE', '/CarrierRouting/#{routing_id}/')
418
+ return request('DELETE', "/CarrierRouting/#{routing_id}/", params)
413
419
  end
414
-
420
+
415
421
  ## Message ##
416
422
  def send_message(params={})
417
- return request('POST', '/Message/', params)
423
+ return request('POST', "/Message/", params)
424
+ end
425
+
426
+ def get_messages(params={})
427
+ return request('POST', "/Message/", params)
428
+ end
429
+
430
+ def get_message(params={})
431
+ record_id = params.delete('record_id')
432
+ return request('POST', "/Message/#{record_id}/", params)
418
433
  end
419
434
  end
420
435
 
@@ -586,7 +601,7 @@ module Plivo
586
601
 
587
602
  class Wait < Element
588
603
  @nestables = []
589
- @valid_attributes = ['length']
604
+ @valid_attributes = ['length', 'silence']
590
605
 
591
606
  def initialize(attributes={})
592
607
  super(nil, attributes)
@@ -621,7 +636,8 @@ module Plivo
621
636
  @nestables = ['Speak', 'Play', 'Wait']
622
637
  @valid_attributes = ['action', 'method', 'timeout', 'finishOnKey',
623
638
  'numDigits', 'retries', 'invalidDigitsSound',
624
- 'validDigits', 'playBeep', 'redirect']
639
+ 'validDigits', 'playBeep', 'redirect',
640
+ 'digitTimeout']
625
641
 
626
642
  def initialize(attributes={})
627
643
  super(nil, attributes)
@@ -691,7 +707,8 @@ module Plivo
691
707
  @nestables = []
692
708
  @valid_attributes = ['action', 'method', 'timeout','finishOnKey',
693
709
  'maxLength', 'playBeep', 'recordSession',
694
- 'startOnDialAnswer', 'redirect', 'fileFormat']
710
+ 'startOnDialAnswer', 'redirect', 'fileFormat',
711
+ 'callbackUrl', 'callbackMethod']
695
712
 
696
713
  def initialize(attributes={})
697
714
  super(nil, attributes)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plivo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-14 00:00:00.000000000 Z
12
+ date: 2012-08-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
16
- requirement: &15247060 !ruby/object:Gem::Requirement
16
+ requirement: &18751700 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.1.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *15247060
24
+ version_requirements: *18751700
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &15245760 !ruby/object:Gem::Requirement
27
+ requirement: &18749240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.7
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *15245760
35
+ version_requirements: *18749240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &15243400 !ruby/object:Gem::Requirement
38
+ requirement: &18746260 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 1.6.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *15243400
46
+ version_requirements: *18746260
47
47
  description: A Ruby gem for interacting with the Plivo Platform
48
48
  email: support@plivo.com
49
49
  executables: []