hellosign-ruby-sdk 3.7.0 → 3.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hello_sign.rb +4 -5
- data/lib/hello_sign/api/account.rb +3 -4
- data/lib/hello_sign/api/api_app.rb +27 -22
- data/lib/hello_sign/api/embedded.rb +14 -10
- data/lib/hello_sign/api/oauth.rb +24 -17
- data/lib/hello_sign/api/signature_request.rb +156 -86
- data/lib/hello_sign/api/team.rb +19 -19
- data/lib/hello_sign/api/template.rb +68 -33
- data/lib/hello_sign/api/unclaimed_draft.rb +114 -66
- data/lib/hello_sign/client.rb +23 -26
- data/lib/hello_sign/configuration.rb +0 -1
- data/lib/hello_sign/resource/account.rb +8 -10
- data/lib/hello_sign/resource/api_app.rb +5 -7
- data/lib/hello_sign/resource/base_resource.rb +8 -12
- data/lib/hello_sign/resource/embedded.rb +8 -10
- data/lib/hello_sign/resource/resource_array.rb +3 -5
- data/lib/hello_sign/resource/signature_request.rb +7 -10
- data/lib/hello_sign/resource/team.rb +7 -9
- data/lib/hello_sign/resource/template.rb +7 -9
- data/lib/hello_sign/resource/template_draft.rb +7 -9
- data/lib/hello_sign/resource/unclaimed_draft.rb +8 -8
- data/lib/hello_sign/version.rb +1 -1
- metadata +2 -2
data/lib/hello_sign/client.rb
CHANGED
@@ -32,7 +32,6 @@ require 'hello_sign/api'
|
|
32
32
|
require 'logger'
|
33
33
|
|
34
34
|
module HelloSign
|
35
|
-
|
36
35
|
#
|
37
36
|
# You'll need the HelloSign::Client to do just about everything, from creating
|
38
37
|
# signatures to updating account information.
|
@@ -69,11 +68,11 @@ module HelloSign
|
|
69
68
|
}
|
70
69
|
|
71
70
|
#
|
72
|
-
#
|
71
|
+
# Initiates a new HelloSign Client
|
73
72
|
|
74
|
-
# @option opts [String] email_address email address
|
75
|
-
# @option opts [String] password password
|
76
|
-
# @option opts [String] api_key
|
73
|
+
# @option opts [String] email_address The account's email address. (optional)
|
74
|
+
# @option opts [String] password The account's password, if authenticating with an email_address. (optional)
|
75
|
+
# @option opts [String] api_key The account's API key.
|
77
76
|
# @return [HelloSign::Client] a new HelloSign::Client
|
78
77
|
def initialize(opts={})
|
79
78
|
options = HelloSign.options.merge(opts)
|
@@ -83,9 +82,9 @@ module HelloSign
|
|
83
82
|
end
|
84
83
|
|
85
84
|
#
|
86
|
-
#
|
87
|
-
# @param path [String]
|
88
|
-
# @option options [Hash] params
|
85
|
+
# Makes an HTTP GET request
|
86
|
+
# @param path [String] Relative path of the request.
|
87
|
+
# @option options [Hash] params Params of the URL.
|
89
88
|
#
|
90
89
|
def get(path, options={})
|
91
90
|
response = request(path, :get, options)
|
@@ -95,10 +94,10 @@ module HelloSign
|
|
95
94
|
end
|
96
95
|
|
97
96
|
#
|
98
|
-
#
|
99
|
-
# @param path [String]
|
100
|
-
# @option options [Hash] params
|
101
|
-
# @option options [Hash] body request
|
97
|
+
# Makes an HTTP POST request
|
98
|
+
# @param path [String] Relative path of the request.
|
99
|
+
# @option options [Hash] params Params of the URL.
|
100
|
+
# @option options [Hash] body Body of the request.
|
102
101
|
#
|
103
102
|
def post(path, options={})
|
104
103
|
response = request(path, :post, options)
|
@@ -108,10 +107,10 @@ module HelloSign
|
|
108
107
|
end
|
109
108
|
|
110
109
|
#
|
111
|
-
#
|
112
|
-
# @param path [String]
|
113
|
-
# @option options [Hash] params
|
114
|
-
# @option options [Hash] body request
|
110
|
+
# Makes an HTTP PUT request
|
111
|
+
# @param path [String] Relative path of the request.
|
112
|
+
# @option options [Hash] params Params of the URL.
|
113
|
+
# @option options [Hash] body Body of the request.
|
115
114
|
#
|
116
115
|
def put(path, options={})
|
117
116
|
response = request(path, :put, options)
|
@@ -121,9 +120,9 @@ module HelloSign
|
|
121
120
|
end
|
122
121
|
|
123
122
|
#
|
124
|
-
# Make
|
125
|
-
# @param path [String]
|
126
|
-
# @option options [Hash]
|
123
|
+
# Make an HTTP DELETE request
|
124
|
+
# @param path [String] Relative path of the request.
|
125
|
+
# @option options [Hash] Params of the URL.
|
127
126
|
#
|
128
127
|
def delete(path, options={})
|
129
128
|
response = request(path, :delete, options)
|
@@ -160,6 +159,7 @@ module HelloSign
|
|
160
159
|
faraday.adapter :net_http
|
161
160
|
faraday.options[:timeout] = timeout if timeout
|
162
161
|
end
|
162
|
+
|
163
163
|
if options[:no_auth]
|
164
164
|
elsif auth_token
|
165
165
|
connection.authorization :Bearer, auth_token
|
@@ -183,9 +183,6 @@ module HelloSign
|
|
183
183
|
if response.status >= 400
|
184
184
|
error_class = ERRORS[response.status] || HelloSign::Error::UnknownError
|
185
185
|
error = error_class.new(response.status, response.body, response.to_hash[:url].to_s)
|
186
|
-
# error.response_status = response.status
|
187
|
-
# error.response_body = response.body
|
188
|
-
# error.request_uri = response.to_hash[:url].to_s
|
189
186
|
raise error
|
190
187
|
end
|
191
188
|
end
|
@@ -204,7 +201,7 @@ module HelloSign
|
|
204
201
|
|
205
202
|
def MIMEfromName(name)
|
206
203
|
parts = name.split('.')
|
207
|
-
#
|
204
|
+
# defaults to pdf if no extension provided
|
208
205
|
if parts.length < 2
|
209
206
|
return 'application/pdf'
|
210
207
|
end
|
@@ -299,21 +296,21 @@ module HelloSign
|
|
299
296
|
if (opts[:form_fields_per_document] and opts[:form_fields_per_document].is_a? Array)
|
300
297
|
opts[:form_fields_per_document] = MultiJson.dump(opts[:form_fields_per_document])
|
301
298
|
end
|
302
|
-
#ignore if it's already a string, or not present
|
299
|
+
# ignore if it's already a string, or not present
|
303
300
|
end
|
304
301
|
|
305
302
|
def prepare_custom_fields(opts)
|
306
303
|
if (opts[:custom_fields] and opts[:custom_fields].is_a? Array)
|
307
304
|
opts[:custom_fields] = MultiJson.dump(opts[:custom_fields])
|
308
305
|
end
|
309
|
-
#ignore if it's already a string, or not present
|
306
|
+
# ignore if it's already a string, or not present
|
310
307
|
end
|
311
308
|
|
312
309
|
def prepare_merge_fields(opts)
|
313
310
|
if (opts[:merge_fields] and opts[:merge_fields].is_a? Array)
|
314
311
|
opts[:merge_fields] = MultiJson.dump(opts[:merge_fields])
|
315
312
|
end
|
316
|
-
#ignore if it's already a string, or not present
|
313
|
+
# ignore if it's already a string, or not present
|
317
314
|
end
|
318
315
|
|
319
316
|
def prepare(opts, key)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#
|
2
2
|
# The MIT License (MIT)
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Copyright (C) 2014 hellosign.com
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the "Software"), to deal
|
8
8
|
# in the Software without restriction, including without limitation the rights
|
@@ -24,22 +24,20 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
# Contains information about an
|
30
|
-
# Take a look at our
|
28
|
+
# Contains information about an Account and its settings.
|
29
|
+
# Take a look at our API Documentation on the Account resource (https://app.hellosign.com/api/reference#Account)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class Account < BaseResource
|
36
|
-
|
37
35
|
#
|
38
|
-
#
|
39
|
-
# @param
|
40
|
-
# @param
|
36
|
+
# Creates a new Account from a hash. If key defined then account data with be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] Account's data
|
38
|
+
# @param key [String] (account) key of the hash, point to where Account data is. If nil, then the hash itself.
|
41
39
|
#
|
42
|
-
# @return [HelloSign::Resource:Account]
|
40
|
+
# @return [HelloSign::Resource:Account] an Account resource
|
43
41
|
def initialize(hash, key='account')
|
44
42
|
super
|
45
43
|
end
|
@@ -24,20 +24,18 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
# Contains information about
|
30
|
-
# Take a look at our
|
28
|
+
# Contains information about the ApiApp resource.
|
29
|
+
# Take a look at our API Documentation for ApiApps (https://app.hellosign.com/api/reference#ApiApp)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class ApiApp < BaseResource
|
36
|
-
|
37
35
|
#
|
38
|
-
#
|
39
|
-
# @param
|
40
|
-
# @param
|
36
|
+
# Creates a new ApiApp from a hash. If a key is defined then ApiApp data with be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] ApiApp data
|
38
|
+
# @param key [String] (api_app) key of the hash, point to where ApiApp data is. If nil, then the hash itself.
|
41
39
|
#
|
42
40
|
# @return [HelloSign::Resource:ApiApp] an ApiApp resource
|
43
41
|
def initialize(hash, key='api_app')
|
@@ -24,21 +24,19 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
#
|
28
|
+
# Stores the value of a hash. Use missing_method to create method to access it like an object
|
30
29
|
#
|
31
30
|
# @author [hellosign]
|
32
31
|
#
|
33
32
|
class BaseResource
|
34
33
|
|
35
34
|
attr_reader :data, :raw_data, :warnings, :headers
|
36
|
-
|
37
35
|
#
|
38
36
|
# recursively convert hash data into BaseResource.
|
39
37
|
#
|
40
|
-
# @param hash [Hash]
|
41
|
-
# @param key [String] (nil)
|
38
|
+
# @param hash [Hash] Data of the resource
|
39
|
+
# @param key [String] (nil) Key of the hash, point to where resource data is. If nil, then the hash itself.
|
42
40
|
#
|
43
41
|
# @return [HelloSign::Resource::BaseResource] a new BaseResource
|
44
42
|
def initialize(hash, key=nil)
|
@@ -47,7 +45,7 @@ module HelloSign
|
|
47
45
|
if hash[:body]
|
48
46
|
@warnings = hash[:body]['warnings'] ? hash[:body]['warnings'] : nil
|
49
47
|
end
|
50
|
-
|
48
|
+
|
51
49
|
@data = @raw_data.inject({}) do |data, (key, value)|
|
52
50
|
data[key.to_s] = if value.is_a? Hash
|
53
51
|
value = BaseResource.new(value)
|
@@ -62,17 +60,15 @@ module HelloSign
|
|
62
60
|
|
63
61
|
#
|
64
62
|
# Magic method, give class dynamic methods based on hash keys.
|
65
|
-
#
|
66
63
|
# If initialized hash has a key which matches the method name, return value of that key.
|
67
|
-
#
|
68
|
-
# Otherwise, return nil
|
64
|
+
# Otherwise, return nil.
|
69
65
|
#
|
70
66
|
# @param method [Symbol] Method's name
|
71
67
|
#
|
72
68
|
# @example
|
73
|
-
# resource
|
74
|
-
# resource.email_address
|
75
|
-
# resource.not_in_hash_keys
|
69
|
+
# resource = BaseResource.new :email_address => "me@example.com"
|
70
|
+
# resource.email_address => "me@example.com"
|
71
|
+
# resource.not_in_hash_keys => nil
|
76
72
|
def method_missing(method)
|
77
73
|
@data.key?(method.to_s) ? @data[method.to_s] : nil
|
78
74
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#
|
2
2
|
# The MIT License (MIT)
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Copyright (C) 2014 hellosign.com
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the "Software"), to deal
|
8
8
|
# in the Software without restriction, including without limitation the rights
|
@@ -24,22 +24,20 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
# An object that contains necessary information to set up
|
30
|
-
# Take a look at our
|
28
|
+
# An object that contains necessary information to set up Embedded signing.
|
29
|
+
# Take a look at our Embedded Signing Walkthrough (https://app.hellosign.com/api/embeddedSigningWalkthrough)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class Embedded < BaseResource
|
36
|
-
|
37
35
|
#
|
38
|
-
# create a new Embedded resource from a hash. If a key is defined then embedded data with be the value of hash[key], otherwise the hash itself
|
39
|
-
# @param hash [Hash]
|
40
|
-
# @param key [String] (embedded)
|
36
|
+
# create a new Embedded resource from a hash. If a key is defined then embedded data with be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] Embedded's data
|
38
|
+
# @param key [String] (embedded) Key of the hash, point to where Embedded data is. If nil, then the hash itself.
|
41
39
|
#
|
42
|
-
# @return [HelloSign::Resource:Embedded]
|
40
|
+
# @return [HelloSign::Resource:Embedded] an Embedded resource
|
43
41
|
def initialize(hash, key='embedded')
|
44
42
|
super
|
45
43
|
end
|
@@ -24,7 +24,6 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
28
|
# Stores an array of HelloSign BaseResource with paging information
|
30
29
|
#
|
@@ -32,13 +31,12 @@ module HelloSign
|
|
32
31
|
#
|
33
32
|
class ResourceArray < Array
|
34
33
|
attr_reader :page, :num_pages, :num_results, :page_size, :warnings, :headers, :list_info
|
35
|
-
|
36
34
|
#
|
37
35
|
# create a new ResourceArray from a hash
|
38
36
|
#
|
39
|
-
# @param hash [Hash]
|
40
|
-
# @param key [String]
|
41
|
-
# @param resource_class [Class] a
|
37
|
+
# @param hash [Hash] Data of the array.
|
38
|
+
# @param key [String] Key of the hash, point to where resource array data is.
|
39
|
+
# @param resource_class [Class] a ResourceClass object inherited from BaseResource. Uses the created array item from hash[key].
|
42
40
|
#
|
43
41
|
# @return [type] [description]
|
44
42
|
def initialize(hash, key, resource_class)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#
|
2
2
|
# The MIT License (MIT)
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Copyright (C) 2014 hellosign.com
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the "Software"), to deal
|
8
8
|
# in the Software without restriction, including without limitation the rights
|
@@ -24,21 +24,18 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
# Contains information regarding documents that need to be signed
|
30
|
-
# Take a look at our
|
28
|
+
# Contains information regarding documents that need to be signed.
|
29
|
+
# Take a look at our API Documentation for sending Signature Requests (https://app.hellosign.com/api/reference#SignatureRequest)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class SignatureRequest < BaseResource
|
36
|
-
|
37
|
-
#
|
38
|
-
# create a new SignatureRequest from a hash. If a key is defined then account data with be the value of hash[key], otherwise the hash itself
|
39
|
-
# @param hash [Hash] signature request's data
|
40
|
-
# @param key [String] (signature_request) key of the hash, point to where signature request data is. If nil then the hash itself
|
41
35
|
#
|
36
|
+
# create a new SignatureRequest from a hash. If a key is defined then account data with be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] SignatureRequest's data
|
38
|
+
# @param key [String] (signature_request) Key of the hash, point to where SignatureRequest data is. If nil, then the hash itself.
|
42
39
|
#
|
43
40
|
# @return [HelloSign::Resource::SignatureRequest] a SignatureRequest resource
|
44
41
|
def initialize(hash, key='signature_request')
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#
|
2
2
|
# The MIT License (MIT)
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Copyright (C) 2014 hellosign.com
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the "Software"), to deal
|
8
8
|
# in the Software without restriction, including without limitation the rights
|
@@ -24,20 +24,18 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
# Contains information about
|
30
|
-
# Take a look at our
|
28
|
+
# Contains information about a Team and its members.
|
29
|
+
# Take a look at our API Documentation on the Team Resource (https://app.hellosign.com/api/reference#Team)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class Team < BaseResource
|
36
|
-
|
37
35
|
#
|
38
|
-
#
|
39
|
-
# @param hash [Hash]
|
40
|
-
# @param key [String] (team)
|
36
|
+
# Creates a new Team from a hash. If a key is defined then team data with be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] Team's data
|
38
|
+
# @param key [String] (team) Key of the hash, point to where Team data is. If nil, then the hash itself.
|
41
39
|
#
|
42
40
|
# @return [HelloSign::Resource:Team] a Team resource
|
43
41
|
def initialize(hash, key='team')
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#
|
2
2
|
# The MIT License (MIT)
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Copyright (C) 2014 hellosign.com
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the "Software"), to deal
|
8
8
|
# in the Software without restriction, including without limitation the rights
|
@@ -24,22 +24,20 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
28
|
# Contains information about the templates you and your team have created
|
30
|
-
# Take a look at our
|
29
|
+
# Take a look at our API Documentation for Templates (https://app.hellosign.com/api/reference#Template)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class Template < BaseResource
|
36
|
-
|
37
35
|
#
|
38
|
-
#
|
39
|
-
# @param hash [Hash]
|
40
|
-
# @param key [String] (template)
|
36
|
+
# Creates a new Template from a hash. If a key is defined then template data will be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] Template's data
|
38
|
+
# @param key [String] (template) Key of the hash, point to where Template data is. If nil, then the hash itself.
|
41
39
|
#
|
42
|
-
# @return [HelloSign::Resource:Team] a
|
40
|
+
# @return [HelloSign::Resource:Team] a Template resource
|
43
41
|
def initialize(hash, key='template')
|
44
42
|
super
|
45
43
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#
|
2
2
|
# The MIT License (MIT)
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Copyright (C) 2014 hellosign.com
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the "Software"), to deal
|
8
8
|
# in the Software without restriction, including without limitation the rights
|
@@ -24,20 +24,18 @@
|
|
24
24
|
|
25
25
|
module HelloSign
|
26
26
|
module Resource
|
27
|
-
|
28
27
|
#
|
29
|
-
# A group of documents that a user can take ownership of by going to the
|
30
|
-
# Take a look at our
|
28
|
+
# A group of documents that a user can take ownership of by going to the claim_url.
|
29
|
+
# Take a look at our API Documentation for Templates (https://app.hellosign.com/api/reference#Template)
|
31
30
|
# for more information about this.
|
32
31
|
#
|
33
32
|
# @author [hellosign]
|
34
33
|
#
|
35
34
|
class TemplateDraft < BaseResource
|
36
|
-
|
37
35
|
#
|
38
|
-
#
|
39
|
-
# @param hash [Hash]
|
40
|
-
# @param key [String] (template_draft)
|
36
|
+
# Creates a new TemplateDraft from a hash. If a key is defined then TemplateDraft data will be the value of hash[key], otherwise the hash itself.
|
37
|
+
# @param hash [Hash] TemplateDraft's data
|
38
|
+
# @param key [String] (template_draft) Key of the hash, point to where TemplateDraft data is. If nil, then the hash itself.
|
41
39
|
#
|
42
40
|
# @return [HelloSign::Resource:Team] a Team resource
|
43
41
|
def initialize(hash, key='template')
|