signaturit-sdk 1.0.1 → 1.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0155dec9b1d7ef4d3fcdce0c2daa7de9dc28ff69
4
+ data.tar.gz: f7a1cb65fd4c17ecd923651003431c481414abf1
5
+ SHA512:
6
+ metadata.gz: 2b179e179c59802fc23be8b074aa055ab715e2498567d5d0c62c24ea7e79c10992fe408c0c3e581ac56cfbd6b0bd1dfc09abcb87ef3db70f5d9d0d75e5bfa290
7
+ data.tar.gz: 7af59c75dc582195225af601696b9034460568e8872f169bbbde9670039fc1a3e216e573c4df2a3d0e915d4bffc9b9dbc4ee91ad240e857290eaeb08234a45b7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  CHANGELOG
2
2
  =========
3
+ * 1.1.0 (2016-12-22)
4
+ * Added methods for subscriptions, certified sms, users and contacts
3
5
 
4
6
  * 1.0.0 (2016-01-20)
5
7
  * updated all methods to use api v3
data/Rakefile CHANGED
@@ -12,11 +12,7 @@ task :release => :build do
12
12
  puts 'You must be on the master branch to release!'
13
13
  exit!
14
14
  end
15
-
16
- sh "git commit --allow-empty -m 'Release :gem: #{spec.version}'"
17
- sh "git tag #{spec.version}"
18
- sh 'git push origin master'
19
- sh "git push origin #{spec.version}"
15
+
20
16
  sh "gem push pkg/signaturit-sdk-#{spec.version}.gem"
21
17
  end
22
18
 
@@ -11,7 +11,7 @@ class SignaturitClient
11
11
  def initialize(token, production = false)
12
12
  base = production ? 'https://api.signaturit.com' : 'https://api.sandbox.signaturit.com'
13
13
 
14
- @client = RestClient::Resource.new base, :headers => { :Authorization => "Bearer #{token}", :user_agent => 'signaturit-ruby-sdk 1.0.0' }, :ssl_version => :TLSv1_2
14
+ @client = RestClient::Resource.new base, :headers => { :Authorization => "Bearer #{token}", :user_agent => 'signaturit-ruby-sdk 1.1.0' }, :ssl_version => :TLSv1_2
15
15
  end
16
16
 
17
17
  # Get a concrete signature object
@@ -77,6 +77,14 @@ class SignaturitClient
77
77
  params[:recipients] = {}
78
78
 
79
79
  [recipients].flatten.each_with_index do |recipient, index|
80
+ # if only email is given, transform it to a object
81
+ recipient = { email: recipient, name: recipient } if recipient.is_a? String
82
+
83
+ # workaround for a bug in rest_client not dealing with objects inside an array
84
+ if recipient[:require_signature_in_coordinates]
85
+ recipient[:require_signature_in_coordinates] = array2hash recipient[:require_signature_in_coordinates]
86
+ end
87
+
80
88
  params[:recipients][index] = recipient
81
89
  end
82
90
 
@@ -126,7 +134,7 @@ class SignaturitClient
126
134
  request :post, "/v3/brandings.json", params
127
135
  end
128
136
 
129
- # Update a existing branding
137
+ # Update an existing branding
130
138
  #
131
139
  # Params:
132
140
  # +branding_id+:: Id of the branding to update
@@ -207,15 +215,385 @@ class SignaturitClient
207
215
  # Get the audit trail of concrete certificate
208
216
  #
209
217
  # Params:
210
- # +email_id++:: The id of the signature object
211
- # +certificate_id++:: The id of the document object
218
+ # +email_id++:: The id of the email object
219
+ # +certificate_id++:: The id of the certificate object
212
220
  def download_email_audit_trail(email_id, certificate_id)
213
221
  request :get, "/v3/emails/#{email_id}/certificates/#{certificate_id}/download/audit_trail", {}, false
214
222
  end
215
223
 
224
+ # Get all SMS
225
+ #
226
+ # Params:
227
+ # +limit+:: Maximum number of results to return
228
+ # +offset+:: Offset of results to skip
229
+ # +conditions+:: Query conditions
230
+ def get_sms(limit = 100, offset = 0, conditions = {})
231
+ params = extract_query_params conditions
232
+
233
+ params['limit'] = limit
234
+ params['offset'] = offset
235
+
236
+ request :get, "/v3/sms.json", params
237
+ end
238
+
239
+ # Count all SMS
240
+ #
241
+ # Params:
242
+ # +conditions+:: Query conditions
243
+ def count_sms(conditions = {})
244
+ params = extract_query_params conditions
245
+
246
+ request :get, "/v3/sms/count.json", params
247
+ end
248
+
249
+ # Get a single SMS
250
+ #
251
+ # Params:
252
+ # +sms_id+:: Id of SMS
253
+ def get_single_sms(sms_id)
254
+ request :get, "/v3/sms/#{sms_id}.json"
255
+ end
256
+
257
+ # Create a new SMS
258
+ #
259
+ # Params:
260
+ # +files+:: File or files to send with the SMS
261
+ # +recipients+:: Recipients for the SMS
262
+ # +body+:: SMS body
263
+ # +params+:: Extra params
264
+ def create_sms(files, recipients, body, params = {})
265
+ params[:recipients] = {}
266
+
267
+ [recipients].flatten.each_with_index do |recipient, index|
268
+ params[:recipients][index] = recipient
269
+ end
270
+
271
+ if files
272
+ params[:attachments] = [files].flatten.map do |filepath|
273
+ File.new(filepath, 'rb')
274
+ end
275
+ end
276
+
277
+ params[:body] = body
278
+
279
+ request :post, "/v3/sms.json", params
280
+ end
281
+
282
+ # Get the audit trail of concrete certificate
283
+ #
284
+ # Params:
285
+ # +sms_id++:: The id of the SMS object
286
+ # +certificate_id++:: The id of the certificate object
287
+ def download_sms_audit_trail(sms_id, certificate_id)
288
+ request :get, "/v3/sms/#{sms_id}/certificates/#{certificate_id}/download/audit_trail", {}, false
289
+ end
290
+
291
+ # Get all subscription
292
+ #
293
+ # Params:
294
+ # +limit+:: Maximum number of results to return
295
+ # +offset+:: Offset of results to skip
296
+ # +conditions+:: Query conditions
297
+ def get_subscriptions(limit = 100, offset = 0, conditions = {})
298
+ params = extract_query_params conditions
299
+
300
+ params['limit'] = limit
301
+ params['offset'] = offset
302
+
303
+ request :get, "/v3/subscriptions.json", params
304
+ end
305
+
306
+ # Count all subscription
307
+ #
308
+ # Params:
309
+ # +conditions+:: Query conditions
310
+ def count_subscriptions(conditions = {})
311
+ params = extract_query_params conditions
312
+
313
+ request :get, "/v3/subscriptions/count.json", params
314
+ end
315
+
316
+ # Get a single subscription
317
+ #
318
+ # Params:
319
+ # +subscription_id+:: Id of subscription
320
+ def get_subscription(subscription_id)
321
+ request :get, "/v3/subscriptions/#{subscription_id}.json"
322
+ end
323
+
324
+ # Create a new subscription
325
+ #
326
+ # Params:
327
+ # +url+:: A url where to send the events.
328
+ # +events+:: The list of events to subscribe.
329
+ def create_subscription(url, events)
330
+ params = { url: url, events: events }
331
+
332
+ request :post, "/v3/subscriptions.json", params
333
+ end
334
+
335
+ # Update an existing subscription
336
+ #
337
+ # Params:
338
+ # +subscription_id+:: Id of the subscription to update
339
+ # +params+:: Same params as method create_subscription, see above
340
+ def update_subscription(subscription_id, params)
341
+ request :patch, "/v3/subscriptions/#{subscription_id}.json", params
342
+ end
343
+
344
+ # Delete an existing subscription
345
+ #
346
+ # Params:
347
+ # +subscription_id+:: Id of the subscription to update
348
+ def delete_subscription(subscription_id)
349
+ request :delete, "/v3/subscriptions/#{subscription_id}.json"
350
+ end
351
+
352
+ # Get all contacts
353
+ #
354
+ # Params:
355
+ # +limit+:: Maximum number of results to return
356
+ # +offset+:: Offset of results to skip
357
+ # +conditions+:: Query conditions
358
+ def get_contacts(limit = 100, offset = 0, conditions = {})
359
+ params = extract_query_params conditions
360
+
361
+ params['limit'] = limit
362
+ params['offset'] = offset
363
+
364
+ request :get, "/v3/contacts.json", params
365
+ end
366
+
367
+ # Count all contacts
368
+ #
369
+ # Params:
370
+ # +conditions+:: Query conditions
371
+ def count_contacts(conditions = {})
372
+ params = extract_query_params conditions
373
+
374
+ request :get, "/v3/contacts/count.json", params
375
+ end
376
+
377
+ # Get a single contact
378
+ #
379
+ # Params:
380
+ # +contact_id+:: Id of contact
381
+ def get_contact(contact_id)
382
+ request :get, "/v3/contacts/#{contact_id}.json"
383
+ end
384
+
385
+ # Create a new contact
386
+ #
387
+ # Params:
388
+ # +email+:: Contact email
389
+ # +name+:: Contact name
390
+ def create_contact(email, name)
391
+ params = { email: email, name: name }
392
+
393
+ request :post, "/v3/contacts.json", params
394
+ end
395
+
396
+ # Update an existing contact
397
+ #
398
+ # Params:
399
+ # +contact_id+:: Id of the contact to update
400
+ # +params+:: Same params as method create_contact, see above
401
+ def update_contact(contact_id, params)
402
+ request :patch, "/v3/contacts/#{contact_id}.json", params
403
+ end
404
+
405
+ # Delete an existing contact
406
+ #
407
+ # Params:
408
+ # +contact_id+:: Id of the contact to update
409
+ def delete_contact(contact_id)
410
+ request :delete, "/v3/contacts/#{contact_id}.json"
411
+ end
412
+
413
+ # Get all users
414
+ #
415
+ # Params:
416
+ # +limit+:: Maximum number of results to return
417
+ # +offset+:: Offset of results to skip
418
+ # +conditions+:: Query conditions
419
+ def get_users(limit = 100, offset = 0, conditions = {})
420
+ params = extract_query_params conditions
421
+
422
+ params['limit'] = limit
423
+ params['offset'] = offset
424
+
425
+ request :get, "/v3/team/users.json", params
426
+ end
427
+
428
+ # Get a single user
429
+ #
430
+ # Params:
431
+ # +user_id+:: Id of user
432
+ def get_user(user_id)
433
+ request :get, "/v3/team/users/#{user_id}.json"
434
+ end
435
+
436
+ # Invites a user to the team
437
+ #
438
+ # Params:
439
+ # +email+:: User email
440
+ # +role+:: User role
441
+ def invite_user(email, role)
442
+ params = { email: email, role: role }
443
+
444
+ request :post, "/v3/team/users.json", params
445
+ end
446
+
447
+ # Update an existing user role
448
+ #
449
+ # Params:
450
+ # +user_id+:: Id of the user to update
451
+ # +role+:: The new role
452
+ def change_user_role(user_id, role)
453
+ params = { role: role }
454
+
455
+ request :patch, "/v3/team/users/#{user_id}.json", params
456
+ end
457
+
458
+ # Delete an existing user from the team
459
+ #
460
+ # Params:
461
+ # +user_id+:: Id of the user to remove
462
+ def remove_user(user_id)
463
+ request :delete, "/v3/team/users/#{user_id}.json"
464
+ end
465
+
466
+ # Get all groups
467
+ #
468
+ # Params:
469
+ # +limit+:: Maximum number of results to return
470
+ # +offset+:: Offset of results to skip
471
+ # +conditions+:: Query conditions
472
+ def get_groups(limit = 100, offset = 0, conditions = {})
473
+ params = extract_query_params conditions
474
+
475
+ params['limit'] = limit
476
+ params['offset'] = offset
477
+
478
+ request :get, "/v3/team/groups.json", params
479
+ end
480
+
481
+ # Get a single group
482
+ #
483
+ # Params:
484
+ # +group_id+:: Id of group
485
+ def get_group(group_id)
486
+ request :get, "/v3/team/groups/#{group_id}.json"
487
+ end
488
+
489
+ # Create a new group
490
+ #
491
+ # Params:
492
+ # +name+:: Group name
493
+ def create_group(name)
494
+ params = { name: name }
495
+
496
+ request :post, "/v3/team/groups.json", params
497
+ end
498
+
499
+ # Update an existing group
500
+ #
501
+ # Params:
502
+ # +group_id+:: Id of the group to update
503
+ # +params+:: Same params as method create_group, see above
504
+ def update_group(group_id, name)
505
+ params = { name: name }
506
+
507
+ request :patch, "/v3/team/groups/#{group_id}.json", params
508
+ end
509
+
510
+ # Delete an existing group
511
+ #
512
+ # Params:
513
+ # +group_id+:: Id of the group to delete
514
+ def delete_group(group_id)
515
+ request :delete, "/v3/team/groups/#{group_id}.json"
516
+ end
517
+
518
+ # Add a new manager to the group
519
+ #
520
+ # Params:
521
+ # +group_id+:: Id of the group where to add the user
522
+ # +user_id+:: Id of the user to add
523
+ def add_manager_to_group(group_id, user_id)
524
+ request :post, "/v3/team/groups/#{group_id}/managers/#{user_id}.json"
525
+ end
526
+
527
+ # Remove a manager from the group
528
+ #
529
+ # Params:
530
+ # +group_id+:: Id of the group where to add the user
531
+ # +user_id+:: Id of the user to add
532
+ def remove_manager_from_group(group_id, user_id)
533
+ request :delete, "/v3/team/groups/#{group_id}/managers/#{user_id}.json"
534
+ end
535
+
536
+ # Add a new member to the group
537
+ #
538
+ # Params:
539
+ # +group_id+:: Id of the group where to add the user
540
+ # +user_id+:: Id of the user to add
541
+ def add_member_to_group(group_id, user_id)
542
+ request :post, "/v3/team/groups/#{group_id}/members/#{user_id}.json"
543
+ end
544
+
545
+ # Remove a member from the group
546
+ #
547
+ # Params:
548
+ # +group_id+:: Id of the group where to add the user
549
+ # +user_id+:: Id of the user to add
550
+ def remove_member_from_group(group_id, user_id)
551
+ request :delete, "/v3/team/groups/#{group_id}/members/#{user_id}.json"
552
+ end
553
+
554
+ # Get all seats
555
+ #
556
+ # Params:
557
+ # +limit+:: Maximum number of results to return
558
+ # +offset+:: Offset of results to skip
559
+ # +conditions+:: Query conditions
560
+ def get_seats(limit = 100, offset = 0, conditions = {})
561
+ params = extract_query_params conditions
562
+
563
+ params['limit'] = limit
564
+ params['offset'] = offset
565
+
566
+ request :get, "/v3/team/seats.json", params
567
+ end
568
+
569
+ # Remove a seat
570
+ #
571
+ # Params:
572
+ # +seat_id+:: Id of the seat to remove
573
+ def remove_seat(seat_id)
574
+ request :delete, "/v3/team/seats/#{seat_id}.json"
575
+ end
576
+
216
577
  # PRIVATE METHODS FROM HERE
217
578
  private
218
579
 
580
+ # convert array to hash recursively
581
+ def array2hash(array)
582
+ unless array.is_a?(Array)
583
+ return array
584
+ end
585
+
586
+ Hash[
587
+ array.map.with_index do |x, i|
588
+ if x.is_a?(Array)
589
+ x = array2hash(x)
590
+ end
591
+
592
+ [i, x]
593
+ end
594
+ ]
595
+ end
596
+
219
597
  # Parse query parameters
220
598
  def extract_query_params(conditions)
221
599
  params = {}
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.platform = Gem::Platform::RUBY
3
3
  s.name = 'signaturit-sdk'
4
- s.version = '1.0.1'
4
+ s.version = '1.1.0'
5
5
  s.date = '2016-01-20'
6
6
  s.summary = 'Signaturit Ruby SDK'
7
7
  s.description = 'Sign Documents Online'
@@ -36,7 +36,6 @@ class TestSignaturitClient < Test::Unit::TestCase
36
36
  assert_requested :get, 'https://api.signaturit.com/v3/signatures/count.json?status=signed&since=1982-07-27', :headers => { :Authorization => 'Bearer a_token' }
37
37
  end
38
38
 
39
-
40
39
  def test_get_audit_trail
41
40
  stub_request(:any, /.*/).to_return(:body => '')
42
41
 
@@ -132,4 +131,312 @@ class TestSignaturitClient < Test::Unit::TestCase
132
131
  assert_requested :get, 'https://api.signaturit.com/v3/templates.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
133
132
  end
134
133
 
134
+ def test_get_email
135
+ stub_request(:any, /.*/).to_return(:body => '{}')
136
+
137
+ @client.get_email 'an_id'
138
+
139
+ assert_requested :get, 'https://api.signaturit.com/v3/emails/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
140
+ end
141
+
142
+ def test_get_emails
143
+ stub_request(:any, /.*/).to_return(:body => '[]')
144
+
145
+ @client.get_emails(5, 10)
146
+
147
+ assert_requested :get, 'https://api.signaturit.com/v3/emails.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
148
+ end
149
+
150
+ def test_count_emails
151
+ stub_request(:any, /.*/).to_return(:body => '{}')
152
+
153
+ @client.count_emails({:status => 'delivered'})
154
+
155
+ assert_requested :get, 'https://api.signaturit.com/v3/emails/count.json?status=delivered', :headers => { :Authorization => 'Bearer a_token' }
156
+ end
157
+
158
+ def test_get_audit_trail
159
+ stub_request(:any, /.*/).to_return(:body => '')
160
+
161
+ @client.download_email_audit_trail('an_id', 'another_id')
162
+
163
+ assert_requested :get, 'https://api.signaturit.com/v3/emails/an_id/certificates/another_id/download/audit_trail', :headers => { :Authorization => 'Bearer a_token' }
164
+ end
165
+
166
+ def test_create_email
167
+ stub_request(:any, /.*/).to_return(:body => '{}')
168
+
169
+ path = File.join(File.expand_path(File.dirname(__FILE__)), 'file.pdf')
170
+
171
+ @client.create_email path, 'admin@signatur.it', 'a subject', 'a body'
172
+
173
+ assert_requested :post, 'https://api.signaturit.com/v3/emails.json', :headers => { :Authorization => 'Bearer a_token' }
174
+ end
175
+
176
+ def test_get_single_sms
177
+ stub_request(:any, /.*/).to_return(:body => '{}')
178
+
179
+ @client.get_single_sms 'an_id'
180
+
181
+ assert_requested :get, 'https://api.signaturit.com/v3/sms/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
182
+ end
183
+
184
+ def test_get_sms
185
+ stub_request(:any, /.*/).to_return(:body => '[]')
186
+
187
+ @client.get_sms(5, 10)
188
+
189
+ assert_requested :get, 'https://api.signaturit.com/v3/sms.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
190
+ end
191
+
192
+ def test_count_sms
193
+ stub_request(:any, /.*/).to_return(:body => '{}')
194
+
195
+ @client.count_sms({:status => 'delivered'})
196
+
197
+ assert_requested :get, 'https://api.signaturit.com/v3/sms/count.json?status=delivered', :headers => { :Authorization => 'Bearer a_token' }
198
+ end
199
+
200
+ def test_get_audit_trail
201
+ stub_request(:any, /.*/).to_return(:body => '')
202
+
203
+ @client.download_sms_audit_trail('an_id', 'another_id')
204
+
205
+ assert_requested :get, 'https://api.signaturit.com/v3/sms/an_id/certificates/another_id/download/audit_trail', :headers => { :Authorization => 'Bearer a_token' }
206
+ end
207
+
208
+ def test_create_sms
209
+ stub_request(:any, /.*/).to_return(:body => '{}')
210
+
211
+ path = File.join(File.expand_path(File.dirname(__FILE__)), 'file.pdf')
212
+
213
+ @client.create_sms path, 'admin@signatur.it', 'a body'
214
+
215
+ assert_requested :post, 'https://api.signaturit.com/v3/sms.json', :headers => { :Authorization => 'Bearer a_token' }
216
+ end
217
+
218
+ def test_get_single_subscription
219
+ stub_request(:any, /.*/).to_return(:body => '{}')
220
+
221
+ @client.get_subscription 'an_id'
222
+
223
+ assert_requested :get, 'https://api.signaturit.com/v3/subscriptions/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
224
+ end
225
+
226
+ def test_get_subscriptions
227
+ stub_request(:any, /.*/).to_return(:body => '[]')
228
+
229
+ @client.get_subscriptions(5, 10)
230
+
231
+ assert_requested :get, 'https://api.signaturit.com/v3/subscriptions.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
232
+ end
233
+
234
+ def test_count_subscriptions
235
+ stub_request(:any, /.*/).to_return(:body => '{}')
236
+
237
+ @client.count_subscriptions()
238
+
239
+ assert_requested :get, 'https://api.signaturit.com/v3/subscriptions/count.json', :headers => { :Authorization => 'Bearer a_token' }
240
+ end
241
+
242
+ def test_create_subscriptions
243
+ stub_request(:any, /.*/).to_return(:body => '{}')
244
+
245
+ @client.create_subscription 'https://www.signaturit.com', 'email_delivered'
246
+
247
+ assert_requested :post, 'https://api.signaturit.com/v3/subscriptions.json', :headers => { :Authorization => 'Bearer a_token' }
248
+ end
249
+
250
+ def test_update_subscription
251
+ stub_request(:any, /.*/).to_return(:body => '{}')
252
+
253
+ @client.update_subscription('an_id', {})
254
+
255
+ assert_requested :patch, 'https://api.signaturit.com/v3/subscriptions/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
256
+ end
257
+
258
+ def test_delete_subscription
259
+ stub_request(:any, /.*/).to_return(:body => '{}')
260
+
261
+ @client.delete_subscription('an_id')
262
+
263
+ assert_requested :delete, 'https://api.signaturit.com/v3/subscriptions/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
264
+ end
265
+
266
+ def test_get_single_contact
267
+ stub_request(:any, /.*/).to_return(:body => '{}')
268
+
269
+ @client.get_contact 'an_id'
270
+
271
+ assert_requested :get, 'https://api.signaturit.com/v3/contacts/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
272
+ end
273
+
274
+ def test_get_contacts
275
+ stub_request(:any, /.*/).to_return(:body => '[]')
276
+
277
+ @client.get_contacts(5, 10)
278
+
279
+ assert_requested :get, 'https://api.signaturit.com/v3/contacts.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
280
+ end
281
+
282
+ def test_count_contacts
283
+ stub_request(:any, /.*/).to_return(:body => '{}')
284
+
285
+ @client.count_contacts()
286
+
287
+ assert_requested :get, 'https://api.signaturit.com/v3/contacts/count.json', :headers => { :Authorization => 'Bearer a_token' }
288
+ end
289
+
290
+ def test_create_contacts
291
+ stub_request(:any, /.*/).to_return(:body => '{}')
292
+
293
+ @client.create_contact 'email@domain.com', 'Email'
294
+
295
+ assert_requested :post, 'https://api.signaturit.com/v3/contacts.json', :headers => { :Authorization => 'Bearer a_token' }
296
+ end
297
+
298
+ def test_update_contact
299
+ stub_request(:any, /.*/).to_return(:body => '{}')
300
+
301
+ @client.update_contact('an_id', {})
302
+
303
+ assert_requested :patch, 'https://api.signaturit.com/v3/contacts/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
304
+ end
305
+
306
+ def test_delete_contact
307
+ stub_request(:any, /.*/).to_return(:body => '{}')
308
+
309
+ @client.delete_contact('an_id')
310
+
311
+ assert_requested :delete, 'https://api.signaturit.com/v3/contacts/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
312
+ end
313
+
314
+ def test_get_single_user
315
+ stub_request(:any, /.*/).to_return(:body => '{}')
316
+
317
+ @client.get_user 'an_id'
318
+
319
+ assert_requested :get, 'https://api.signaturit.com/v3/team/users/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
320
+ end
321
+
322
+ def test_get_users
323
+ stub_request(:any, /.*/).to_return(:body => '[]')
324
+
325
+ @client.get_users(5, 10)
326
+
327
+ assert_requested :get, 'https://api.signaturit.com/v3/team/users.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
328
+ end
329
+
330
+ def test_invite_user
331
+ stub_request(:any, /.*/).to_return(:body => '{}')
332
+
333
+ @client.invite_user 'email@domain.com', 'admin'
334
+
335
+ assert_requested :post, 'https://api.signaturit.com/v3/team/users.json', :headers => { :Authorization => 'Bearer a_token' }
336
+ end
337
+
338
+ def test_change_user_role
339
+ stub_request(:any, /.*/).to_return(:body => '{}')
340
+
341
+ @client.change_user_role('an_id', 'admin')
342
+
343
+ assert_requested :patch, 'https://api.signaturit.com/v3/team/users/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
344
+ end
345
+
346
+ def test_remove_user
347
+ stub_request(:any, /.*/).to_return(:body => '{}')
348
+
349
+ @client.remove_user('an_id')
350
+
351
+ assert_requested :delete, 'https://api.signaturit.com/v3/team/users/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
352
+ end
353
+
354
+ def test_get_single_group
355
+ stub_request(:any, /.*/).to_return(:body => '{}')
356
+
357
+ @client.get_group 'an_id'
358
+
359
+ assert_requested :get, 'https://api.signaturit.com/v3/team/groups/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
360
+ end
361
+
362
+ def test_get_groups
363
+ stub_request(:any, /.*/).to_return(:body => '[]')
364
+
365
+ @client.get_groups(5, 10)
366
+
367
+ assert_requested :get, 'https://api.signaturit.com/v3/team/groups.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
368
+ end
369
+
370
+ def test_create_groups
371
+ stub_request(:any, /.*/).to_return(:body => '{}')
372
+
373
+ @client.create_group 'SDKs'
374
+
375
+ assert_requested :post, 'https://api.signaturit.com/v3/team/groups.json', :headers => { :Authorization => 'Bearer a_token' }
376
+ end
377
+
378
+ def test_update_group
379
+ stub_request(:any, /.*/).to_return(:body => '{}')
380
+
381
+ @client.update_group('an_id', 'SDK')
382
+
383
+ assert_requested :patch, 'https://api.signaturit.com/v3/team/groups/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
384
+ end
385
+
386
+ def test_delete_group
387
+ stub_request(:any, /.*/).to_return(:body => '{}')
388
+
389
+ @client.delete_group('an_id')
390
+
391
+ assert_requested :delete, 'https://api.signaturit.com/v3/team/groups/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
392
+ end
393
+
394
+ def test_add_manager_to_group
395
+ stub_request(:any, /.*/).to_return(:body => '{}')
396
+
397
+ @client.add_manager_to_group 'an_id', 'another_id'
398
+
399
+ assert_requested :post, 'https://api.signaturit.com/v3/team/groups/an_id/managers/another_id.json', :headers => { :Authorization => 'Bearer a_token' }
400
+ end
401
+
402
+ def test_remove_manager_from_group
403
+ stub_request(:any, /.*/).to_return(:body => '{}')
404
+
405
+ @client.remove_manager_from_group 'an_id', 'another_id'
406
+
407
+ assert_requested :delete, 'https://api.signaturit.com/v3/team/groups/an_id/managers/another_id.json', :headers => { :Authorization => 'Bearer a_token' }
408
+ end
409
+
410
+ def test_add_member_to_group
411
+ stub_request(:any, /.*/).to_return(:body => '{}')
412
+
413
+ @client.add_member_to_group 'an_id', 'another_id'
414
+
415
+ assert_requested :post, 'https://api.signaturit.com/v3/team/groups/an_id/members/another_id.json', :headers => { :Authorization => 'Bearer a_token' }
416
+ end
417
+
418
+ def test_remove_member_from_group
419
+ stub_request(:any, /.*/).to_return(:body => '{}')
420
+
421
+ @client.remove_member_from_group 'an_id', 'another_id'
422
+
423
+ assert_requested :delete, 'https://api.signaturit.com/v3/team/groups/an_id/members/another_id.json', :headers => { :Authorization => 'Bearer a_token' }
424
+ end
425
+
426
+ def test_get_seats
427
+ stub_request(:any, /.*/).to_return(:body => '[]')
428
+
429
+ @client.get_seats(5, 10)
430
+
431
+ assert_requested :get, 'https://api.signaturit.com/v3/team/seats.json?limit=5&offset=10', :headers => { :Authorization => 'Bearer a_token' }
432
+ end
433
+
434
+ def test_remove_seat
435
+ stub_request(:any, /.*/).to_return(:body => '{}')
436
+
437
+ @client.remove_seat('an_id')
438
+
439
+ assert_requested :delete, 'https://api.signaturit.com/v3/team/seats/an_id.json', :headers => { :Authorization => 'Bearer a_token' }
440
+ end
441
+
135
442
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: signaturit-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Signaturit
@@ -14,7 +13,6 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rest-client
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: webmock
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -65,27 +60,26 @@ files:
65
60
  homepage: https://signaturit.com/
66
61
  licenses:
67
62
  - MIT
63
+ metadata: {}
68
64
  post_install_message:
69
65
  rdoc_options: []
70
66
  require_paths:
71
67
  - lib
72
68
  required_ruby_version: !ruby/object:Gem::Requirement
73
- none: false
74
69
  requirements:
75
- - - ! '>='
70
+ - - '>='
76
71
  - !ruby/object:Gem::Version
77
72
  version: '0'
78
73
  required_rubygems_version: !ruby/object:Gem::Requirement
79
- none: false
80
74
  requirements:
81
- - - ! '>='
75
+ - - '>='
82
76
  - !ruby/object:Gem::Version
83
77
  version: '0'
84
78
  requirements: []
85
79
  rubyforge_project:
86
- rubygems_version: 1.8.23
80
+ rubygems_version: 2.0.14.1
87
81
  signing_key:
88
- specification_version: 3
82
+ specification_version: 4
89
83
  summary: Signaturit Ruby SDK
90
84
  test_files:
91
85
  - test/file.html