hellosign-ruby-sdk 3.7.5 → 3.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +2 -2
  3. data/lib/hello_sign.rb +7 -12
  4. data/lib/hello_sign/api.rb +1 -2
  5. data/lib/hello_sign/api/account.rb +17 -30
  6. data/lib/hello_sign/api/api_app.rb +27 -25
  7. data/lib/hello_sign/api/bulk_send_job.rb +62 -0
  8. data/lib/hello_sign/api/embedded.rb +17 -23
  9. data/lib/hello_sign/api/oauth.rb +26 -34
  10. data/lib/hello_sign/api/signature_request.rb +370 -261
  11. data/lib/hello_sign/api/team.rb +21 -26
  12. data/lib/hello_sign/api/template.rb +79 -70
  13. data/lib/hello_sign/api/unclaimed_draft.rb +193 -142
  14. data/lib/hello_sign/client.rb +58 -22
  15. data/lib/hello_sign/configuration.rb +3 -7
  16. data/lib/hello_sign/error.rb +2 -3
  17. data/lib/hello_sign/resource.rb +1 -2
  18. data/lib/hello_sign/resource/account.rb +3 -6
  19. data/lib/hello_sign/resource/api_app.rb +3 -6
  20. data/lib/hello_sign/resource/base_resource.rb +5 -9
  21. data/lib/hello_sign/resource/bulk_send_job.rb +43 -0
  22. data/lib/hello_sign/resource/embedded.rb +7 -10
  23. data/lib/hello_sign/resource/resource_array.rb +7 -10
  24. data/lib/hello_sign/resource/signature_request.rb +6 -9
  25. data/lib/hello_sign/resource/team.rb +3 -6
  26. data/lib/hello_sign/resource/template.rb +5 -8
  27. data/lib/hello_sign/resource/template_draft.rb +4 -7
  28. data/lib/hello_sign/resource/unclaimed_draft.rb +5 -10
  29. data/lib/hello_sign/version.rb +1 -3
  30. data/spec/fixtures/api_app.json +10 -10
  31. data/spec/fixtures/bulk_send_job.json +88 -0
  32. data/spec/fixtures/bulk_send_jobs.json +22 -0
  33. data/spec/hello_sign/api/account_spec.rb +1 -1
  34. data/spec/hello_sign/api/bulk_send_job_spec.rb +53 -0
  35. data/spec/hello_sign_spec.rb +2 -4
  36. data/spec/spec_helper.rb +0 -2
  37. metadata +11 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2297029c0c72855dfbdaa63c6591f3757eef3cf8
4
- data.tar.gz: f4e927a9c1f33944cb3a1c4f9423738baa63e752
2
+ SHA256:
3
+ metadata.gz: 12855d1404739ede27d4378f949777d44c2cc425d057f91a004307e2b6ee589b
4
+ data.tar.gz: 0627a91e9970010d293cc0bcc995a59d0f518d3e770d9c7953c2bf64c918cf00
5
5
  SHA512:
6
- metadata.gz: 2ccf4c3f364e875ad7acd75c78b49fe854a4869e43764875b2e94600ae3215c5c3c5758baa2f574e18bc28be8b9440919a0e9197eaaabf86db2c9f5aa42d3126
7
- data.tar.gz: d2d4574b1a64c0e5eb7518c410e065ae10bf548d5211439610d0b0bb84ba60c478deae9991210dcc0c2a4fd5ac74d41752cebe5da19339bf55430baf55f6971f
6
+ metadata.gz: f47affb3dc733ce976a2104fd445df70c0e26f77be073ca4970b6b84d332f4aa37db8fc3f556155acaed7416f875568c91d6e64a34dcf42e2451172077b127fe
7
+ data.tar.gz: eda4fe3fd0cbf83388b7c5a905bacda787c317098c2d850f0a839cd67517cc01b27e11bb7f83be965901552a582896b64ce13d68ea70319fbd38338cda16391d
data/README.md CHANGED
@@ -40,12 +40,12 @@ my_account = HelloSign.get_account
40
40
  my_signature_requests = HelloSign.get_signature_requests
41
41
 
42
42
  # view a specific signature request
43
- signature_request = HelloSign.get_signature_request :signature_request_id => '42383e7327eda33f4b8b91217cbe95408cc1285f'
43
+ signature_request = HelloSign.get_signature_request signature_request_id: '42383e7327eda33f4b8b91217cbe95408cc1285f'
44
44
  ```
45
45
 
46
46
  If you need to authenticate for multiple users and you want a separated client for them, you can run:
47
47
  ```ruby
48
- client2 = HelloSign::Client.new :api_key => 'your_user_api_key'
48
+ client2 = HelloSign::Client.new api_key: 'your_user_api_key'
49
49
  user_account = client2.get_account
50
50
  ```
51
51
  ### Specifying files
@@ -1,4 +1,3 @@
1
- #
2
1
  # The MIT License (MIT)
3
2
  #
4
3
  # Copyright (C) 2014 hellosign.com
@@ -20,7 +19,6 @@
20
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
21
  # SOFTWARE.
23
- #
24
22
 
25
23
  require 'hello_sign/version'
26
24
  require 'hello_sign/configuration'
@@ -28,21 +26,18 @@ require 'hello_sign/client'
28
26
 
29
27
  module HelloSign
30
28
  extend Configuration
31
- #
32
- # # If HelloSign module doesn't respond to method, then delegates it to HelloSign::Client
33
- # @param method [Symbol] method name
34
- # @param *args [Array] arguments passed into the method
35
- # @param &block [Block] a block passed into the method
36
- #
29
+
30
+ # If HelloSign module doesn't respond to method, then delegates it to HelloSign::Client
31
+ # @param method [Symbol] method name
32
+ # @param *args [Array] arguments passed into the method
33
+ # @param &block [Block] a block passed into the method
37
34
  def self.method_missing(method, *args, &block)
38
35
  return super unless client.respond_to?(method)
39
36
  client.send(method, *args, &block)
40
37
  end
41
38
 
42
- #
43
- # If HelloSign module don't respond to method, asks HelloSign::Client whether it responded or not
44
- # @param method [Symbol] method name
45
- #
39
+ # If HelloSign module doesn't respond to method, asks HelloSign::Client whether it responded or not
40
+ # @param method [Symbol] method name
46
41
  def self.respond_to?(method, include_all=false)
47
42
  return super || client.respond_to?(method)
48
43
  end
@@ -1,4 +1,3 @@
1
- #
2
1
  # The MIT License (MIT)
3
2
  #
4
3
  # Copyright (C) 2014 hellosign.com
@@ -20,7 +19,6 @@
20
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
21
  # SOFTWARE.
23
- #
24
22
 
25
23
  require 'hello_sign/api/account'
26
24
  require 'hello_sign/api/embedded'
@@ -30,3 +28,4 @@ require 'hello_sign/api/team'
30
28
  require 'hello_sign/api/unclaimed_draft'
31
29
  require 'hello_sign/api/oauth'
32
30
  require 'hello_sign/api/api_app'
31
+ require 'hello_sign/api/bulk_send_job'
@@ -1,4 +1,3 @@
1
- #
2
1
  # The MIT License (MIT)
3
2
  #
4
3
  # Copyright (C) 2014 hellosign.com
@@ -20,71 +19,59 @@
20
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
21
  # SOFTWARE.
23
- #
24
22
 
25
23
  module HelloSign
26
24
  module Api
27
-
28
- #
29
25
  # Contains all the API calls for the Account resource.
30
26
  # Take a look at our API Documentation on the Account resource (https://app.hellosign.com/api/reference#Account)
31
27
  # for more information about this.
32
28
  #
33
29
  # @author [hellosign]
34
- #
30
+
35
31
  module Account
36
- #
32
+
37
33
  # Returns the current user's account information.
38
34
  #
39
- # @return [HelloSign::Resource::Account] current user's account
35
+ # @return [HelloSign::Resource::Account] Current user's Account
40
36
  #
41
37
  # @example
42
38
  # account = @client.get_account
43
- #
44
39
  def get_account
45
40
  HelloSign::Resource::Account.new get('/account')
46
41
  end
47
42
 
48
- #
49
- # Creates a new HelloSign account. The user will still need to confirm the email address
43
+ # Creates a new HelloSign account. The user will need to confirm the email address
50
44
  # to complete the creation process.
51
- #
52
- # Note: This request does not require authentication.
53
- #
54
45
  # @option opts [String] email_address New user's email address
55
46
  #
56
- # @return [HelloSign::Resource::Account] New user's account information
47
+ # @return [HelloSign::Resource::Account] New user's Account
57
48
  #
58
49
  # @example
59
- # account = @client.create_account :email_address => 'newuser@example.com'
60
- #
50
+ # account = @client.create_account email_address: 'newuser@example.com'
61
51
  def create_account(opts)
62
- HelloSign::Resource::Account.new post('/account/create', :body => opts)
52
+ HelloSign::Resource::Account.new post('/account/create', body: opts)
63
53
  end
64
54
 
55
+ # Updates the current user's Account Callback URL.
56
+ # @option opts [String] callback_url New callback URL
65
57
  #
66
- # Updates the current user's callback URL
67
- # @option opts [String] callback_url New user's callback url
68
- #
69
- # @return [HelloSign::Resource::Account] Updated user's account information
58
+ # @return [HelloSign::Resource::Account] Updated Account
70
59
  #
71
60
  # @example
72
- # account = @client.update_account :callback_url => 'https://www.example.com/callback'
73
- #
61
+ # account = @client.update_account callback_url: 'https://www.example.com/callback'
74
62
  def update_account(opts)
75
- HelloSign::Resource::Account.new post('/account', :body => opts)
63
+ HelloSign::Resource::Account.new post('/account', body: opts)
76
64
  end
77
65
 
78
- #
79
- # Check whether an account exists
80
- # @option opts [String] email_address user email
66
+ # Checks whether an Account exists
67
+ # @option opts [String] email_address User's email address
81
68
  #
82
69
  # @return [Bool] true if exists, else false
83
- # @example
84
- # account = @client.verify :email_address => 'newuser@example.com'
85
70
  #
71
+ # @example
72
+ # account = @client.verify email_address: 'newuser@example.com'
86
73
  def verify(opts)
87
- post('/account/verify', :body => opts).empty? ? false : true
74
+ post('/account/verify', body: opts).empty? ? false : true
88
75
  end
89
76
  end
90
77
  end
@@ -1,4 +1,3 @@
1
- #
2
1
  # The MIT License (MIT)
3
2
  #
4
3
  # Copyright (C) 2014 hellosign.com
@@ -20,42 +19,36 @@
20
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
21
  # SOFTWARE.
23
- #
24
22
 
25
23
  module HelloSign
26
24
  module Api
27
- #
28
25
  # Contains all the API calls for the ApiApp resource.
29
- # Take a look at our API Documentation for ApiApps (https://app.hellosign.com/api/reference#ApiApp)
26
+ # Take a look at our API Documentation on ApiApps (https://app.hellosign.com/api/reference#ApiApp)
30
27
  # for more information about this.
31
28
  #
32
29
  # @author [hellosign]
33
- #
30
+
34
31
  module ApiApp
35
32
 
36
- #
37
- # Retrieves information about a specific API App by a given ID
33
+ # Retrieves an ApiApp with a given ID
38
34
  # @option opts [String] client_id The Client ID of the ApiApp.
39
35
  #
40
- # @return [HelloSign::Resource::ApiApp] the ApiApp
36
+ # @return [HelloSign::Resource::ApiApp]
41
37
  #
42
38
  # @example
43
- # app = @client.get_api_app :client_id => 'fa5c8a0b0f492d768749333ad6fcc214c111e967'
44
- #
39
+ # app = @client.get_api_app client_id: 'fa5c8a0b0f492d768749333ad6fcc214c111e967'
45
40
  def get_api_app(opts)
46
41
  HelloSign::Resource::ApiApp.new get("/api_app/#{opts[:client_id]}")
47
42
  end
48
43
 
49
- #
50
- # Returns a list of ApiApps that you currently have access to on your account
44
+ # Returns a list of ApiApps that your Account can access.
51
45
  # @option opts [Integer] page Sets the page number of the list to return. Defaults to 1. (optional)
52
46
  # @option opts [Integer] page_size Determines the number of ApiApps returned per page. Defaults to 20. (optional)
53
47
  #
54
48
  # @return [HelloSign::Resource::ResourceArray]
55
49
  #
56
50
  # @example
57
- # apps = @client.get_api_apps :page => 1
58
- #
51
+ # apps = @client.get_api_apps page: 1
59
52
  def get_api_apps(opts={})
60
53
  path = '/api_app/list'
61
54
  path += opts[:page] ? "?page=#{opts[:page]}" : ''
@@ -63,8 +56,7 @@ module HelloSign
63
56
  HelloSign::Resource::ResourceArray.new get(path, opts), 'api_apps', HelloSign::Resource::ApiApp
64
57
  end
65
58
 
66
- #
67
- # Creates a new API Application on your account
59
+ # Creates a new ApiApp on your Account
68
60
  # @option opts [String] name The name assigned to the ApiApp.
69
61
  # @option opts [String] domain The domain associated with the ApiApp.
70
62
  # @option opts [String] callback_url The URL that will receive callback events for the ApiApp. (optional)
@@ -74,16 +66,20 @@ module HelloSign
74
66
  # @option opts [String<Hash>] white_labeling_options Object with elements and values serialized to a string to customize the signer page, if available in the API subscription. (optional)
75
67
  # @option opts [Boolean] options[can_insert_everywhere] Determines if signers can "Insert Everywhere" when signing a document. (optional)
76
68
  #
77
- # @return [HelloSign::Resource::ApiApp] newly created ApiApp object
69
+ # @return [HelloSign::Resource::ApiApp] newly created ApiApp
78
70
  #
79
71
  # @example
80
- # app = @client.create_api_app :name => 'My Production App', :domain => 'example.com', :'oauth[callback_url]' => 'https://example.com/oauth', 'oauth[scopes]' => 'basic_account_info,request_signature'
72
+ # app = @client.create_api_app(
73
+ # name: 'My Production App',
74
+ # domain: 'example.com',
75
+ # 'oauth[callback_url]': 'https://example.com/oauth',
76
+ # 'oauth[scopes]': 'basic_account_info,request_signature'
77
+ # )
81
78
  def create_api_app(opts)
82
- HelloSign::Resource::ApiApp.new post('/api_app', :body => opts)
79
+ HelloSign::Resource::ApiApp.new post('/api_app', body: opts)
83
80
  end
84
81
 
85
- #
86
- # Updates settings for a specific ApiApp on your account
82
+ # Updates the ApiApp settings.
87
83
  # @option opts [String] client_id The Client ID of the ApiApp you want to update.
88
84
  # @option opts [String] name The name assigned to the ApiApp. (optional)
89
85
  # @option opts [String] domain The domain associated with the ApiApp. (optional)
@@ -97,19 +93,25 @@ module HelloSign
97
93
  # @return [HelloSign::Resource::ApiApp] an ApiApp object
98
94
  #
99
95
  # @example
100
- # app = @client.update_api_app :name => 'My Newly Renamed App', :domain => 'example2.com', :'oauth[callback_url]' => 'https://example2.com/oauth', 'oauth[scopes]' => 'basic_account_info,request_signature'
96
+ # app = @client.update_api_app(
97
+ # name: 'My Newly Renamed App',
98
+ # domain: 'example2.com',
99
+ # 'oauth[callback_url]': 'https://example2.com/oauth',
100
+ # 'oauth[scopes]': 'basic_account_info, request_signature'
101
+ # )
101
102
  def update_api_app(opts)
102
103
  id = opts.delete(:client_id)
103
104
  path = '/api_app/' + id
104
- HelloSign::Resource::ApiApp.new post(path, :body => opts)
105
+ HelloSign::Resource::ApiApp.new post(path, body: opts)
105
106
  end
106
107
 
107
- #
108
108
  # Deletes an ApiApp. Only available for ApiApps you own.
109
109
  # @option opts [String] client_id The Client ID of the ApiApp you want to delete.
110
110
  #
111
+ # @return [HTTP::Status] 204 No Content
112
+ #
111
113
  # @example
112
- # result = @client.delete_api_app :client_id => 'fa5c8a0b0f492d768749333ad6fcc214c111e967'
114
+ # response = @client.delete_api_app client_id: 'fa5c8a0b0f492d768749333ad6fcc214c111e967'
113
115
  def delete_api_app(opts)
114
116
  path = '/api_app/' + opts[:client_id]
115
117
  delete(path)
@@ -0,0 +1,62 @@
1
+ # The MIT License (MIT)
2
+ #
3
+ # Copyright (C) 2014 hellosign.com
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ module HelloSign
24
+ module Api
25
+ # Contains all the API calls for the BulkSendJob resource.
26
+ # Take a look at our API Documentation on BulkSendJobs (https://app.hellosign.com/api/reference#BulkSendJob)
27
+ # for more information about this.
28
+ #
29
+ # @author [hellosign]
30
+
31
+ module BulkSendJob
32
+
33
+ # Retrieves a BulkSendJob with a given ID
34
+ # @option opts [String] bulk_send_job_id The BulkSendJob ID to retrieve.
35
+ #
36
+ # @return [HelloSign::Resource::BulkSendJob]
37
+ #
38
+ # @example
39
+ # bulk_send_job = @client.get_bulk_send_job bulk_send_job_id: 'af299494bdcad318b4856aa34aa263dbdaaee9ab'
40
+ def get_bulk_send_job(opts)
41
+ path = "/bulk_send_job/#{opts[:bulk_send_job_id]}"
42
+
43
+ HelloSign::Resource::BulkSendJob.new get(path)
44
+ end
45
+
46
+ # Returns a list of BulkSendJobs that your Account can access.
47
+ # @option opts [Integer] page Sets the page number of the list to return. Defaults to 1. (optional)
48
+ # @option opts [Integer] page_size Determines the number of BulkSendJobs returned per page. Defaults to 20. (optional)
49
+ #
50
+ # @return [HelloSign::Resource::ResourceArray]
51
+ #
52
+ # @example
53
+ # bulk_send_jobs = @client.get_bulk_send_jobs page: 1
54
+ def get_bulk_send_jobs(opts={})
55
+ path = '/bulk_send_job/list'
56
+ path += opts[:page] ? "?page=#{opts[:page]}" : ''
57
+ path += opts[:page_size] ? "&page_size=#{opts[:page_size]}" : ''
58
+ HelloSign::Resource::ResourceArray.new get(path, opts), 'bulk_send_jobs', HelloSign::Resource::BulkSendJob
59
+ end
60
+ end
61
+ end
62
+ end
@@ -1,4 +1,3 @@
1
- #
2
1
  # The MIT License (MIT)
3
2
  #
4
3
  # Copyright (C) 2014 hellosign.com
@@ -20,54 +19,49 @@
20
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
21
  # SOFTWARE.
23
- #
24
22
 
25
23
  module HelloSign
26
24
  module Api
27
- #
28
- # HelloSign allows you to embed the signing page on your site in an iFrame
29
- # without the need for the signer/preparer to create a HelloSign account.
25
+ # Contains all the API calls for Embedded SignatureRequests.
30
26
  # Take a look at our Embedded Signing Walkthrough (https://app.hellosign.com/api/embeddedSigningWalkthrough)
31
27
  # for more information about this.
32
28
  #
33
29
  # @author [hellosign]
34
- #
30
+
35
31
  module Embedded
36
32
 
37
- #
38
- # Retrieves the embedded signature sign_url.
39
- #
33
+ # Retrieves the sign_url for an Embedded SignatureRequest.
40
34
  # @option opts [String] signature_id The Signature ID to retrieve the embedded sign_url for.
41
35
  #
42
- # @return [HelloSign::Resource::Embedded] Returns an Embedded object
43
- # @example
44
- # embedded = @client.get_embedded_sign_url :signature_id => '50e3542f738adfa7ddd4cbd4c00d2a8ab6e4194b'
36
+ # @return [HelloSign::Resource::Embedded]
45
37
  #
38
+ # @example
39
+ # embedded = @client.get_embedded_sign_url signature_id: '50e3542f738adfa7ddd4cbd4c00d2a8ab6e4194b'
46
40
  def get_embedded_sign_url(opts)
47
41
  HelloSign::Resource::Embedded.new get("/embedded/sign_url/#{opts[:signature_id]}")
48
42
  end
49
- #
50
- # Retrieves the edit_url for an embedded template.
51
- # @option opts [Boolean] test_mode Indicates if this is a test Embedded Template. A boolean value is also accepted. Defaults to 0. (optional)
52
- # @option opts [String] template_id The Template ID to retreive the embedded edit_url for.
43
+
44
+ # Retrieves the edit_url for an Embedded Template.
45
+ # @option opts [Boolean] test_mode Indicates if this is a test SignatureRequest, it will not be legally binding if set to 1. Defaults to 0. (optional)
46
+ # @option opts [String] template_id The Template ID to retrieve the embedded edit_url for.
53
47
  # @option opts [Array<Hash>] cc_roles The CC roles that must be assigned when using the Embedded Template to create a SignatureRequest. (optional)
54
48
  # @option opts [String<Array><Hash>] merge_fields List of fields that can be pre-populated by your application when using the Embedded Template to send a SignatureRequest. (optional)
55
- # * :name (String) Merge field name
56
- # * :type (String) Field type - either "text" or "checkbox"
49
+ # * name (String) Merge field name
50
+ # * type (String) Field type - either "text" or "checkbox"
57
51
  # @option opts [Boolean] skip_signer_roles Removes the prompt to edit signer roles, if already provided. Defaults to 0. (optional)
58
52
  # @option opts [Boolean] skip_subject_message Removes the prompt to edit the subject and message, if already provided. Defaults to 0. (optional)
59
53
  #
60
- # @return [HelloSign::Resource::Embedded] Returns an Embedded object
61
- # @example
62
- # edit_url = @client.get_embedded_template_edit_url :template_id => '39e3387f738adfa7ddd4cbd4c00d2a8ab6e4194b'
54
+ # @return [HelloSign::Resource::Embedded]
63
55
  #
56
+ # @example
57
+ # edit_url = @client.get_embedded_template_edit_url template_id: '39e3387f738adfa7ddd4cbd4c00d2a8ab6e4194b'
64
58
  def get_embedded_template_edit_url(opts)
65
- defaults = { :skip_signer_roles => 0, :skip_subject_message => 0, :test_mode => 0 }
59
+ defaults = { skip_signer_roles: 0, skip_subject_message: 0, test_mode: 0 }
66
60
  opts = defaults.merge(opts)
67
61
 
68
62
  prepare_merge_fields opts
69
63
 
70
- HelloSign::Resource::Embedded.new post("/embedded/edit_url/#{opts[:template_id]}", :body => opts)
64
+ HelloSign::Resource::Embedded.new post("/embedded/edit_url/#{opts[:template_id]}", body: opts)
71
65
  end
72
66
  end
73
67
  end
@@ -1,4 +1,3 @@
1
- #
2
1
  # The MIT License (MIT)
3
2
  #
4
3
  # Copyright (C) 2014 hellosign.com
@@ -20,83 +19,76 @@
20
19
  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
21
  # SOFTWARE.
23
- #
24
22
 
25
23
  module HelloSign
26
24
  module Api
27
-
28
- #
25
+ # Contains all the API calls for OAuth workflows.
29
26
  # OAuth allows you to perform actions on behalf of other users after they grant you the authorization to do so.
30
- # For example, you could send signature requests on behalf of your users.
31
- # For more information, see our OAuth API documentation (https://app.hellosign.com/api/oauthWalkthrough).
32
- #
33
- # IMPORTANT: With some OAuth scopes, you (the app owner) will be charged for all signature requests sent on behalf of other users via your app.
27
+ # See our OAuth API documentation (https://app.hellosign.com/api/oauthWalkthrough) for more information.
34
28
  #
35
29
  # @author [hellosign]
36
- #
30
+
37
31
  module OAuth
38
32
 
39
- #
40
- # Returns the OAuth URL where users can give permission for your application to perform actions on their behalf.
41
- #
42
- # @param state [String] used for security and must match throughout the flow for a given user.
33
+ # Returns the OAuth URL where users can authorize your application to perform actions on their behalf.
34
+ # @param state [String] Random security value that must match throughout the user's flow.
43
35
  # It can be set to the value of your choice (preferably something random). You should verify it matches the expected value when validating the OAuth callback.
44
- # @return [type] [description]
45
36
  def oauth_url(state)
46
37
  "#{self.oauth_end_point}/oauth/authorize?response_type=code&client_id=#{self.client_id}&state=#{state}"
47
38
  end
48
39
 
49
- #
50
40
  # Retrieves the OAuth token
51
- #
52
- # @option opts [String] state Random value that was used when you created oauth_url for a specific user.
41
+ # @option opts [String] state Random security value that was used when you created oauth_url for a specific user.
53
42
  # @option opts [String] code The code passed to your callback when the user granted access.
54
- # @option opts [String] client_id The API App Client ID.
55
- # @option opts [String] client_secret The secret token of your API App.
43
+ # @option opts [String] client_id The ApiApp Client ID.
44
+ # @option opts [String] client_secret The secret token of your ApiApp.
56
45
  #
57
46
  # @return [Hash] OAuth data of the user
58
47
  #
59
48
  # @example
60
- # client = HelloSign::Client.new :api_key => '%apikey%', :client_id => 'cc91c61d00f8bb2ece1428035716b', :client_secret => '1d14434088507ffa390e6f5528465'
61
- # client.get_oauth_token :state => '900e06e2', :code =>'1b0d28d90c86c141'
49
+ # client = HelloSign::Client.new(
50
+ # api_key: '%apikey%',
51
+ # client_id: 'cc91c61d00f8bb2ece1428035716b',
52
+ # client_secret: '1d14434088507ffa390e6f5528465'
53
+ # )
54
+ # client.get_oauth_token(
55
+ # state: '900e06e2',
56
+ # code:'1b0d28d90c86c141'
57
+ # )
62
58
  def get_oauth_token(opts)
63
59
  opts[:client_id] = self.client_id
64
60
  opts[:client_secret] = self.client_secret
65
61
  opts[:grant_type] = 'authorization_code'
66
- post('/oauth/token', { :body => opts, :oauth_request => true })
62
+ post('/oauth/token', { body: opts, oauth_request: true })
67
63
  end
68
64
 
69
- #
70
65
  # Refreshes the user's OAuth token.
71
- #
72
- # @option opts [String] refresh_token The refresh provided when the access token has expired.
66
+ # @option opts [String] refresh_token The token provided when the access token has expired.
73
67
  #
74
68
  # @return [Hash] Refreshed OAuth info
75
69
  #
76
70
  # @example
77
- # client.refresh_oauth_token :refresh_token => 'hNTI2MTFmM2VmZDQxZTZjOWRmZmFjZmVmMGMyNGFjMzI2MGI5YzgzNmE3'
71
+ # client.refresh_oauth_token refresh_token: 'hNTI2MTFmM2VmZDQxZTZjOWRmZmFjZmVmMGMyNGFjMzI2MGI5YzgzNmE3'
78
72
  def refresh_oauth_token(opts)
79
73
  opts[:client_id] = self.client_id
80
74
  opts[:client_secret] = self.client_secret
81
75
  opts[:grant_type] = 'refresh_token'
82
- post('/oauth/token', { :body => opts, :oauth_request => true })
76
+ post('/oauth/token', { body: opts, oauth_request: true })
83
77
  end
84
78
 
85
- #
86
- # Create new user and get their OAuth token. The user will receive an email asking them to confirm the access being granted.
79
+ # Creates a new user and retrieves the OAuth token. The user will receive an email asking them to confirm the access being granted.
87
80
  # Your app will not be able to perform actions on behalf of this user until they confirm.
81
+ # @option opts [String] email_address New user's email address.
88
82
  #
89
- # @option opts [String] email_address New user email address.
83
+ # @return [Hash] details about new user, including OAuth data
90
84
  #
91
85
  # @example
92
- # client.oauth_create_account :email_address => 'new_user@example.com'
93
- #
94
- # @return [Hash] details about new user, including OAuth data
86
+ # client.oauth_create_account email_address: 'new_user@example.com'
95
87
  def oauth_create_account(opts)
96
88
  opts[:client_id] = self.client_id
97
89
  opts[:client_secret] = self.client_secret
98
90
 
99
- HelloSign::Resource::Account.new post('/account/create', { :body => opts })
91
+ HelloSign::Resource::Account.new post('/account/create', { body: opts })
100
92
  end
101
93
  end
102
94
  end