hellosign-api 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +15 -0
  5. data/CONTRIBUTING.md +42 -0
  6. data/Gemfile +13 -0
  7. data/Guardfile +14 -0
  8. data/LICENSE +21 -0
  9. data/README.md +112 -0
  10. data/Rakefile +16 -0
  11. data/hellosign-api.gemspec +54 -0
  12. data/lib/hello_sign/.error.rb.swp +0 -0
  13. data/lib/hello_sign/api/account.rb +78 -0
  14. data/lib/hello_sign/api/api_app.rb +121 -0
  15. data/lib/hello_sign/api/bulk_send_job.rb +62 -0
  16. data/lib/hello_sign/api/embedded.rb +68 -0
  17. data/lib/hello_sign/api/oauth.rb +95 -0
  18. data/lib/hello_sign/api/signature_request.rb +691 -0
  19. data/lib/hello_sign/api/team.rb +107 -0
  20. data/lib/hello_sign/api/template.rb +227 -0
  21. data/lib/hello_sign/api/unclaimed_draft.rb +328 -0
  22. data/lib/hello_sign/api.rb +31 -0
  23. data/lib/hello_sign/client.rb +372 -0
  24. data/lib/hello_sign/configuration.rb +78 -0
  25. data/lib/hello_sign/error.rb +99 -0
  26. data/lib/hello_sign/resource/account.rb +43 -0
  27. data/lib/hello_sign/resource/api_app.rb +43 -0
  28. data/lib/hello_sign/resource/base_resource.rb +73 -0
  29. data/lib/hello_sign/resource/bulk_send_job.rb +43 -0
  30. data/lib/hello_sign/resource/embedded.rb +43 -0
  31. data/lib/hello_sign/resource/resource_array.rb +56 -0
  32. data/lib/hello_sign/resource/signature_request.rb +43 -0
  33. data/lib/hello_sign/resource/team.rb +43 -0
  34. data/lib/hello_sign/resource/template.rb +43 -0
  35. data/lib/hello_sign/resource/template_draft.rb +44 -0
  36. data/lib/hello_sign/resource/unclaimed_draft.rb +44 -0
  37. data/lib/hello_sign/resource.rb +33 -0
  38. data/lib/hello_sign/version.rb +25 -0
  39. data/lib/hello_sign.rb +50 -0
  40. data/lib/hellosign-ruby-sdk.rb +4 -0
  41. data/spec/fixtures/account.json +15 -0
  42. data/spec/fixtures/api_app.json +16 -0
  43. data/spec/fixtures/api_apps.json +43 -0
  44. data/spec/fixtures/bulk_send_job.json +88 -0
  45. data/spec/fixtures/bulk_send_jobs.json +22 -0
  46. data/spec/fixtures/embedded.json +6 -0
  47. data/spec/fixtures/empty.pdf +0 -0
  48. data/spec/fixtures/error.json +6 -0
  49. data/spec/fixtures/file.json +0 -0
  50. data/spec/fixtures/headers.json +18 -0
  51. data/spec/fixtures/nda.pdf +0 -0
  52. data/spec/fixtures/signature_request.json +45 -0
  53. data/spec/fixtures/signature_requests.json +44 -0
  54. data/spec/fixtures/team.json +15 -0
  55. data/spec/fixtures/template.json +53 -0
  56. data/spec/fixtures/templates.json +59 -0
  57. data/spec/fixtures/token.json +14 -0
  58. data/spec/fixtures/unclaimed_draft.json +6 -0
  59. data/spec/hello_sign/.error_spec.rb.swp +0 -0
  60. data/spec/hello_sign/api/account_spec.rb +42 -0
  61. data/spec/hello_sign/api/api_app_spec.rb +104 -0
  62. data/spec/hello_sign/api/bulk_send_job_spec.rb +53 -0
  63. data/spec/hello_sign/api/embedded_spec.rb +23 -0
  64. data/spec/hello_sign/api/oauth_spec.rb +27 -0
  65. data/spec/hello_sign/api/signature_request_spec.rb +268 -0
  66. data/spec/hello_sign/api/team_spec.rb +101 -0
  67. data/spec/hello_sign/api/template_spec.rb +172 -0
  68. data/spec/hello_sign/api/unclaimed_draft_spec.rb +145 -0
  69. data/spec/hello_sign/client_spec.rb +191 -0
  70. data/spec/hello_sign/error_spec.rb +10 -0
  71. data/spec/hello_sign/resource/base_resource_spec.rb +53 -0
  72. data/spec/hello_sign_spec.rb +57 -0
  73. data/spec/scenarios/uploads_spec.rb +19 -0
  74. data/spec/spec_helper.rb +104 -0
  75. metadata +261 -0
@@ -0,0 +1,191 @@
1
+ require 'spec_helper'
2
+
3
+ describe HelloSign::Client do
4
+ describe '#initialize' do
5
+ context 'with default values' do
6
+ subject(:client) { HelloSign::Client.new }
7
+ HelloSign::Configuration::VALID_OPTIONS_KEYS.each do |key|
8
+ it "should set #{key}" do
9
+ expect(client.send(key)).to eql(HelloSign.send(key))
10
+ end
11
+ end
12
+ end
13
+
14
+ context 'with custom values' do
15
+ let(:custom_client){
16
+ {
17
+ :email_address => 'email_address',
18
+ :password => 'password',
19
+ :api_key => 'api_key',
20
+ :user_agent => 'user_agent',
21
+ :end_point => 'end_point',
22
+ :oauth_end_point => 'oauth_end_point',
23
+ :api_version => 'api_version',
24
+ :client_id => 'client_id',
25
+ :client_secret => 'client_secret',
26
+ :auth_token => 'auth_token',
27
+ :log_level => 5,
28
+ :logging => false,
29
+ :proxy_uri => 'proxy_uri',
30
+ :proxy_user => 'proxy_user',
31
+ :proxy_pass => 'proxy_pass',
32
+ :timeout => 240
33
+ }
34
+ }
35
+ subject(:client) { HelloSign::Client.new custom_client }
36
+ HelloSign::Configuration::VALID_OPTIONS_KEYS.each do |key|
37
+ it "should set #{key}" do
38
+ expect(client.send(key)).to eql(custom_client[key])
39
+ end
40
+ end
41
+
42
+ it "should create a new HelloSign Client" do
43
+ expect(client).to be_an_instance_of(HelloSign::Client)
44
+ end
45
+
46
+ it "should have 'timeout' as a parameter" do
47
+ expect(client.timeout).to eq(240)
48
+ end
49
+ end
50
+ end
51
+
52
+ describe '#request' do
53
+ def post_request(key)
54
+ stub_post('/account/create', 'error', key)
55
+ HelloSign.create_account :email_address => 'test@example.com', :password => 'password'
56
+ end
57
+
58
+ def get_request(key)
59
+ stub_get('/account', 'error', key)
60
+ HelloSign.get_account
61
+ end
62
+
63
+ HelloSign::Client::ERRORS.keys.each do |key|
64
+ context "when response status #{key}" do
65
+ it "raise #{HelloSign::Client::ERRORS[key].to_s} on post" do
66
+ expect { post_request(key) }.to raise_error(HelloSign::Client::ERRORS[key])
67
+ end
68
+
69
+ it "raise #{HelloSign::Client::ERRORS[key].to_s} on get" do
70
+ expect { get_request(key) }.to raise_error(HelloSign::Client::ERRORS[key])
71
+ end
72
+ end
73
+ end
74
+
75
+ context 'when response status not listed' do
76
+ it 'raise UnknownError for post' do
77
+ expect { post_request(504) }.to raise_error(HelloSign::Error::UnknownError)
78
+ end
79
+
80
+ it 'raise UnknownError for get' do
81
+ expect { get_request(504) }.to raise_error(HelloSign::Error::UnknownError)
82
+ end
83
+ end
84
+
85
+ describe 'error keys are set' do
86
+ let(:error) do
87
+ begin
88
+ get_request(400)
89
+ rescue => e
90
+ e
91
+ else
92
+ # Defense exception:
93
+ raise 'Expected stub to throw exception'
94
+ end
95
+ end
96
+
97
+ describe 'message' do
98
+ subject { error.message }
99
+ # Following test proves backwards compatibility
100
+ it { is_expected.to match(/Server responded.*/) }
101
+ end
102
+
103
+ describe 'response_body' do
104
+ subject { error.response_body }
105
+ it { is_expected.to eql(load_fixture('error').read) }
106
+ end
107
+
108
+ describe 'response_status' do
109
+ subject { error.response_status }
110
+ it { is_expected.to eql(400) }
111
+ end
112
+
113
+ describe 'request_uri' do
114
+ subject { error.request_uri }
115
+ it { is_expected.to eql('https://api.hellosign.com/v3/account') }
116
+ end
117
+ end
118
+ end
119
+
120
+ describe 'prepare' do
121
+ context 'signers' do
122
+ describe 'is an array' do
123
+ before do
124
+ stub_post('/signature_request/send', 'signature_request')
125
+ end
126
+
127
+ it 'work correctly' do
128
+ expect(lambda{ HelloSign.send_signature_request(
129
+ :files_url => ['http://hellosign.com/test.pdf'],
130
+ :signers => ['sss']
131
+ ) }).not_to raise_error
132
+ end
133
+ end
134
+
135
+ describe 'is an Hash' do
136
+ before do
137
+ stub_post('/signature_request/send', 'signature_request')
138
+ end
139
+
140
+ it 'work correctly' do
141
+ expect(lambda{ HelloSign.send_signature_request(
142
+ :files_url => ['http://hellosign.com/test.pdf'],
143
+ :signers => [{
144
+ :email_address => 'jack@example.com',
145
+ :name => 'Jack',
146
+ :order => 0
147
+ }, {
148
+ :email_address => 'jill@example.com',
149
+ :name => 'Jill',
150
+ :order => 1
151
+ }]
152
+ ) }).not_to raise_error
153
+ end
154
+ end
155
+ end
156
+
157
+ context 'ccs' do
158
+ describe 'is an array' do
159
+ before do
160
+ stub_post('/signature_request/send_with_template', 'signature_request')
161
+ end
162
+
163
+ it 'work correctly' do
164
+ expect(lambda{ HelloSign.send_signature_request_with_template(
165
+ :ccs => ['sss']
166
+ ) }).not_to raise_error
167
+ end
168
+ end
169
+
170
+ describe 'is an Hash' do
171
+ before do
172
+ stub_post('/signature_request/send_with_template', 'signature_request')
173
+ end
174
+
175
+ it 'work correctly' do
176
+ expect(lambda{ HelloSign.send_signature_request_with_template(
177
+ :ccs => [{
178
+ :email_address => 'jack@example.com',
179
+ :name => 'Jack',
180
+ :role => 'Manager'
181
+ }, {
182
+ :email_address => 'jill@example.com',
183
+ :name => 'Jill',
184
+ :role => 'Client'
185
+ }]
186
+ ) }).not_to raise_error
187
+ end
188
+ end
189
+ end
190
+ end
191
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe HelloSign::Error do
4
+ # another test to prove backwards compatibility
5
+ it 'raises an error with any message' do
6
+ error = HelloSign::Error::Error.new(404, 'test error message', 'http://www.test.com')
7
+ expect(error).to be_instance_of(HelloSign::Error::Error)
8
+ end
9
+
10
+ end
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ describe HelloSign::Resource::BaseResource do
4
+ let(:data){
5
+ { :body => {
6
+ :a => :a1,
7
+ :b => :b1,
8
+ :c => { :c1 => :c2 },
9
+ :d => [:d1, :d2, :d3],
10
+ :e => [{ :e1 => :e11 }, { :e2 => :e21 }, { :e3 => :e31 }]
11
+ }
12
+ }
13
+ }
14
+
15
+ describe 'methods' do
16
+ subject(:resource) { HelloSign::Resource::BaseResource.new data }
17
+
18
+ it 'can access attributes by calling method with the same name' do
19
+ data.keys.each do |key|
20
+ expect(resource.send key).not_to be_nil
21
+ end
22
+ end
23
+
24
+ it 'make a hash value into a new HelloSign::Resource::BaseResource' do
25
+ expect(resource.data["body"].data["c"]).to be_an HelloSign::Resource::BaseResource
26
+ end
27
+
28
+ it 'do not touch array value with basic type' do
29
+ expect(resource.d).to eql(data[:d])
30
+ end
31
+
32
+ it 'make a array value with each item is a hash into array of HelloSign::Resource::BaseResource' do
33
+ expect(resource.data["body"].data["e"]).to be_an Array
34
+ expect(resource.data["body"].data["e"][0]).to be_an HelloSign::Resource::BaseResource
35
+ end
36
+ end
37
+
38
+ describe '#initialize' do
39
+ context 'without key params' do
40
+ subject(:resource) { HelloSign::Resource::BaseResource.new data }
41
+ it 'have correct data' do
42
+ expect(resource.raw_data).to eql(data)
43
+ end
44
+ end
45
+
46
+ context 'with key params' do
47
+ subject(:resource) { HelloSign::Resource::BaseResource.new data, :e }
48
+ it 'have correct data' do
49
+ expect(resource.raw_data).to eql(data[:body][:e])
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ # The MIT License (MIT)
4
+ #
5
+ # Copyright (C) 2014 hellosign.com
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+
25
+ describe HelloSign do
26
+ after { HelloSign.reset }
27
+
28
+ describe '.client' do
29
+ it 'should be a HelloSign::Client' do
30
+ expect(HelloSign.client).to be_a(HelloSign::Client)
31
+ end
32
+ end
33
+
34
+ describe '.configure' do
35
+ HelloSign::Configuration::VALID_OPTIONS_KEYS.each do |key|
36
+ it "should set #{key}" do
37
+ HelloSign.configure do |config|
38
+ config.send("#{key}=", key)
39
+ expect(HelloSign.send(key)).to eql(key)
40
+ end
41
+ end
42
+ end
43
+ end
44
+
45
+ describe '.user_agent=' do
46
+ it 'should set user_agent' do
47
+ HelloSign.user_agent = 'Custom User Agent'
48
+ expect(HelloSign.user_agent).to eql('Custom User Agent')
49
+ end
50
+ end
51
+
52
+ describe '.user_agent' do
53
+ it 'should return default user_agent' do
54
+ expect(HelloSign.user_agent).to eql(HelloSign::Configuration::DEFAULT_USER_AGENT)
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Uploading File' do
4
+ describe 'Create Embedded Signature Request' do
5
+ before { stub_post('/signature_request/create_embedded', 'signature_request') }
6
+
7
+ it 'works with simple pdf' do
8
+ expect(HelloSign.create_embedded_signature_request({files: ['spec/fixtures/nda.pdf']}))
9
+ end
10
+ end
11
+
12
+ describe 'Create Unclaimed Draft' do
13
+ before { stub_post('/unclaimed_draft/create', 'unclaimed_draft') }
14
+
15
+ it 'works with simple pdf' do
16
+ expect(HelloSign.create_unclaimed_draft({files: ['spec/fixtures/nda.pdf']}))
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,104 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+
7
+ # The MIT License (MIT)
8
+ #
9
+ # Copyright (C) 2014 hellosign.com
10
+ #
11
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ # of this software and associated documentation files (the "Software"), to deal
13
+ # in the Software without restriction, including without limitation the rights
14
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ # copies of the Software, and to permit persons to whom the Software is
16
+ # furnished to do so, subject to the following conditions:
17
+ #
18
+ # The above copyright notice and this permission notice shall be included in all
19
+ # copies or substantial portions of the Software.
20
+ #
21
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ # SOFTWARE.
28
+
29
+ if ENV['TRAVIS']
30
+ require 'coveralls'
31
+ Coveralls.wear!
32
+ end
33
+
34
+ require 'webmock/rspec'
35
+ require 'pry'
36
+ require File.expand_path('../../lib/hello_sign', __FILE__)
37
+
38
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
39
+ RSpec.configure do |config|
40
+ config.expect_with :rspec do |c|
41
+ c.syntax = :expect
42
+ end
43
+ config.run_all_when_everything_filtered = true
44
+ config.filter_run :focus
45
+
46
+ # Run specs in random order to surface order dependencies. If you find an
47
+ # order dependency and want to debug it, you can fix the order by providing
48
+ # the seed, which is printed after each run.
49
+ # --seed 1234
50
+ config.order = 'random'
51
+ end
52
+
53
+ def load_fixture(name)
54
+ File.new(File.dirname(__FILE__) + "/fixtures/#{name}.json")
55
+ end
56
+
57
+ def load_file(name)
58
+ File.read(File.new(File.dirname(__FILE__) + "/fixtures/#{name}"))
59
+ end
60
+
61
+ def stub_get(path, fixture, status_code=200)
62
+ stub_request(:get, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}").
63
+ to_return(:headers => load_fixture("headers"), :body => load_fixture(fixture), :status => status_code)
64
+ end
65
+
66
+ def a_get(path)
67
+ a_request(:get, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}")
68
+ end
69
+
70
+ def stub_post(path, fixture, status_code=200)
71
+ stub_request(:post, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}").
72
+ to_return(:headers => load_fixture("headers"), :body => load_fixture(fixture), :status => status_code)
73
+ end
74
+
75
+ def stub_post_oauth(path, fixture, status_code=200)
76
+ stub_request(:post, "#{HelloSign.oauth_end_point}#{path}").
77
+ to_return(:body => load_fixture(fixture), :status => status_code)
78
+ end
79
+
80
+ def a_post(path)
81
+ a_request(:post, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}")
82
+ end
83
+
84
+ def a_post_oauth(path)
85
+ a_request(:post, "#{HelloSign.oauth_end_point}#{path}")
86
+ end
87
+
88
+ def stub_put(path, fixture)
89
+ stub_request(:put, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}").
90
+ to_return(:body => load_fixture(fixture))
91
+ end
92
+
93
+ def a_put(path)
94
+ a_request(:put, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}")
95
+ end
96
+
97
+ def stub_delete(path, fixture)
98
+ stub_request(:delete, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}").
99
+ to_return(:body => load_fixture(fixture))
100
+ end
101
+
102
+ def a_delete(path)
103
+ a_request(:delete, "#{HelloSign.end_point}#{HelloSign.api_version}#{path}")
104
+ end
metadata ADDED
@@ -0,0 +1,261 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hellosign-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - HelloSign, Aubrey Holland
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-03-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 13.0.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 13.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: webmock
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: faraday
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 2.2.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 2.2.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: faraday-multipart
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: multi_json
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.0.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: mime-types
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 3.0.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 3.0.0
125
+ description: ''
126
+ email: aubrey@withgrayce.com
127
+ executables: []
128
+ extensions: []
129
+ extra_rdoc_files: []
130
+ files:
131
+ - ".gitignore"
132
+ - ".rspec"
133
+ - ".travis.yml"
134
+ - CONTRIBUTING.md
135
+ - Gemfile
136
+ - Guardfile
137
+ - LICENSE
138
+ - README.md
139
+ - Rakefile
140
+ - hellosign-api.gemspec
141
+ - lib/hello_sign.rb
142
+ - lib/hello_sign/.error.rb.swp
143
+ - lib/hello_sign/api.rb
144
+ - lib/hello_sign/api/account.rb
145
+ - lib/hello_sign/api/api_app.rb
146
+ - lib/hello_sign/api/bulk_send_job.rb
147
+ - lib/hello_sign/api/embedded.rb
148
+ - lib/hello_sign/api/oauth.rb
149
+ - lib/hello_sign/api/signature_request.rb
150
+ - lib/hello_sign/api/team.rb
151
+ - lib/hello_sign/api/template.rb
152
+ - lib/hello_sign/api/unclaimed_draft.rb
153
+ - lib/hello_sign/client.rb
154
+ - lib/hello_sign/configuration.rb
155
+ - lib/hello_sign/error.rb
156
+ - lib/hello_sign/resource.rb
157
+ - lib/hello_sign/resource/account.rb
158
+ - lib/hello_sign/resource/api_app.rb
159
+ - lib/hello_sign/resource/base_resource.rb
160
+ - lib/hello_sign/resource/bulk_send_job.rb
161
+ - lib/hello_sign/resource/embedded.rb
162
+ - lib/hello_sign/resource/resource_array.rb
163
+ - lib/hello_sign/resource/signature_request.rb
164
+ - lib/hello_sign/resource/team.rb
165
+ - lib/hello_sign/resource/template.rb
166
+ - lib/hello_sign/resource/template_draft.rb
167
+ - lib/hello_sign/resource/unclaimed_draft.rb
168
+ - lib/hello_sign/version.rb
169
+ - lib/hellosign-ruby-sdk.rb
170
+ - spec/fixtures/account.json
171
+ - spec/fixtures/api_app.json
172
+ - spec/fixtures/api_apps.json
173
+ - spec/fixtures/bulk_send_job.json
174
+ - spec/fixtures/bulk_send_jobs.json
175
+ - spec/fixtures/embedded.json
176
+ - spec/fixtures/empty.pdf
177
+ - spec/fixtures/error.json
178
+ - spec/fixtures/file.json
179
+ - spec/fixtures/headers.json
180
+ - spec/fixtures/nda.pdf
181
+ - spec/fixtures/signature_request.json
182
+ - spec/fixtures/signature_requests.json
183
+ - spec/fixtures/team.json
184
+ - spec/fixtures/template.json
185
+ - spec/fixtures/templates.json
186
+ - spec/fixtures/token.json
187
+ - spec/fixtures/unclaimed_draft.json
188
+ - spec/hello_sign/.error_spec.rb.swp
189
+ - spec/hello_sign/api/account_spec.rb
190
+ - spec/hello_sign/api/api_app_spec.rb
191
+ - spec/hello_sign/api/bulk_send_job_spec.rb
192
+ - spec/hello_sign/api/embedded_spec.rb
193
+ - spec/hello_sign/api/oauth_spec.rb
194
+ - spec/hello_sign/api/signature_request_spec.rb
195
+ - spec/hello_sign/api/team_spec.rb
196
+ - spec/hello_sign/api/template_spec.rb
197
+ - spec/hello_sign/api/unclaimed_draft_spec.rb
198
+ - spec/hello_sign/client_spec.rb
199
+ - spec/hello_sign/error_spec.rb
200
+ - spec/hello_sign/resource/base_resource_spec.rb
201
+ - spec/hello_sign_spec.rb
202
+ - spec/scenarios/uploads_spec.rb
203
+ - spec/spec_helper.rb
204
+ homepage: http://www.hellosign.com
205
+ licenses:
206
+ - MIT
207
+ metadata: {}
208
+ post_install_message:
209
+ rdoc_options: []
210
+ require_paths:
211
+ - lib
212
+ required_ruby_version: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ required_rubygems_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ requirements: []
223
+ rubygems_version: 3.2.32
224
+ signing_key:
225
+ specification_version: 4
226
+ summary: A Ruby SDK for the HelloSign API.
227
+ test_files:
228
+ - spec/fixtures/account.json
229
+ - spec/fixtures/api_app.json
230
+ - spec/fixtures/api_apps.json
231
+ - spec/fixtures/bulk_send_job.json
232
+ - spec/fixtures/bulk_send_jobs.json
233
+ - spec/fixtures/embedded.json
234
+ - spec/fixtures/empty.pdf
235
+ - spec/fixtures/error.json
236
+ - spec/fixtures/file.json
237
+ - spec/fixtures/headers.json
238
+ - spec/fixtures/nda.pdf
239
+ - spec/fixtures/signature_request.json
240
+ - spec/fixtures/signature_requests.json
241
+ - spec/fixtures/team.json
242
+ - spec/fixtures/template.json
243
+ - spec/fixtures/templates.json
244
+ - spec/fixtures/token.json
245
+ - spec/fixtures/unclaimed_draft.json
246
+ - spec/hello_sign/.error_spec.rb.swp
247
+ - spec/hello_sign/api/account_spec.rb
248
+ - spec/hello_sign/api/api_app_spec.rb
249
+ - spec/hello_sign/api/bulk_send_job_spec.rb
250
+ - spec/hello_sign/api/embedded_spec.rb
251
+ - spec/hello_sign/api/oauth_spec.rb
252
+ - spec/hello_sign/api/signature_request_spec.rb
253
+ - spec/hello_sign/api/team_spec.rb
254
+ - spec/hello_sign/api/template_spec.rb
255
+ - spec/hello_sign/api/unclaimed_draft_spec.rb
256
+ - spec/hello_sign/client_spec.rb
257
+ - spec/hello_sign/error_spec.rb
258
+ - spec/hello_sign/resource/base_resource_spec.rb
259
+ - spec/hello_sign_spec.rb
260
+ - spec/scenarios/uploads_spec.rb
261
+ - spec/spec_helper.rb