hello_sign 1.3.1 → 1.4.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4d55ba232df29b1b6a7d08b273179fa8db91954d
4
+ data.tar.gz: cf021a9b4d34149daa2be334b5aef6b12f8e29c0
5
+ SHA512:
6
+ metadata.gz: 81dc3a6e70ac62235de57e239e20d50dd04898606f1552457989dbf14db619e940893916d991c451693c3d52fe75e25962b426933e5592f0bf4300873a5a4d4d
7
+ data.tar.gz: de8dcb565c71c002508be29cf4763e9bcaa7c678bea8ceb603e81d6a06d951ad55861e6a5a4ab7e55c8e6e5356fa5f956b0a9329acc62015042ee9d8469d5956
@@ -8,7 +8,7 @@ module HelloSign
8
8
  class << self
9
9
  extend Forwardable
10
10
 
11
- attr_accessor :email_address, :password
11
+ attr_accessor :email_address, :password, :client_id
12
12
 
13
13
  delegate [
14
14
  :account,
@@ -20,7 +20,7 @@ module HelloSign
20
20
 
21
21
  def client
22
22
  unless credentials_match?
23
- @client = HelloSign::Client.new(email_address, password)
23
+ @client = HelloSign::Client.new(email_address, password, client_id)
24
24
  end
25
25
 
26
26
  @client
@@ -38,11 +38,11 @@ module HelloSign
38
38
  end
39
39
 
40
40
  def client_credentials
41
- [@client.email_address, @client.password]
41
+ [@client.email_address, @client.password, @client.client_id]
42
42
  end
43
43
 
44
44
  def provided_credentials
45
- [email_address, password]
45
+ [email_address, password, client_id]
46
46
  end
47
47
 
48
48
  Faraday.register_middleware(
@@ -8,15 +8,17 @@ module HelloSign
8
8
 
9
9
  include HelloSign::Proxy
10
10
 
11
- attr_reader :email_address, :password
11
+ attr_reader :email_address, :password, :client_id
12
12
 
13
- def initialize(email_or_hash, password = nil)
13
+ def initialize(email_or_hash, password = nil, client_id = nil)
14
14
  if email_or_hash.is_a?(Hash)
15
15
  @email_address = email_or_hash.fetch(:email_address) { raise ArgumentError }
16
16
  @password = email_or_hash.fetch(:password) { raise ArgumentError }
17
+ @client_id = email_or_hash.fetch(:client_id)
17
18
  else
18
19
  @email_address = email_or_hash
19
20
  @password = password
21
+ @client_id = client_id
20
22
  end
21
23
  end
22
24
 
@@ -22,6 +22,8 @@ module HelloSign
22
22
  ConvertFailed
23
23
  when 'signature_request_cancel_failed'
24
24
  SignatureRequestCancelFailed
25
+ when 'maintenance'
26
+ Maintenance
25
27
  else
26
28
  Error
27
29
  end
@@ -50,7 +52,8 @@ module HelloSign
50
52
  :TeamInviteFailed,
51
53
  :InvalidRecipient,
52
54
  :ConvertFailed,
53
- :SignatureRequestCancelFailed
55
+ :SignatureRequestCancelFailed,
56
+ :Maintenance
54
57
  ].each do |error_name|
55
58
  const_set(error_name, Class.new(HelloSign::Error))
56
59
  end
@@ -1,8 +1,10 @@
1
1
  module HelloSign
2
2
  module Parameters
3
3
  class ReusableFormSignatureRequest
4
- attr_accessor :test_mode, :reusable_form_id, :title, :subject, :message
5
- private :test_mode, :reusable_form_id, :title, :subject, :message
4
+ attr_accessor :test_mode, :reusable_form_id, :title, :subject, :message,
5
+ :client_id
6
+ private :test_mode, :reusable_form_id, :title, :subject, :message,
7
+ :client_id
6
8
 
7
9
  attr_writer :ccs, :signers, :custom_fields
8
10
 
@@ -20,7 +22,9 @@ module HelloSign
20
22
  ccs: formatted_ccs,
21
23
  signers: formatted_signers,
22
24
  custom_fields: formatted_custom_fields
23
- }
25
+ }.tap do |f|
26
+ f.merge!(client_id: client_id) unless client_id.nil?
27
+ end
24
28
  end
25
29
 
26
30
  private
@@ -4,8 +4,8 @@ require 'json'
4
4
  module HelloSign
5
5
  module Parameters
6
6
  class SignatureRequest
7
- attr_accessor :title, :subject, :message, :ccs, :test_mode
8
- private :title, :subject, :message, :ccs, :test_mode
7
+ attr_accessor :title, :subject, :message, :ccs, :test_mode, :client_id
8
+ private :title, :subject, :message, :ccs, :test_mode, :client_id
9
9
 
10
10
  attr_writer :signers, :files, :form_fields_per_document
11
11
 
@@ -23,7 +23,9 @@ module HelloSign
23
23
  signers: formatted_signers,
24
24
  file: formatted_files,
25
25
  form_fields_per_document: formatted_form_fields_per_document
26
- }
26
+ }.tap do |f|
27
+ f.merge!(client_id: client_id) unless client_id.nil?
28
+ end
27
29
  end
28
30
 
29
31
  private
@@ -1,20 +1,16 @@
1
+ require 'hello_sign/proxy/object'
1
2
  require 'hello_sign/proxy/settings'
2
3
 
3
4
  module HelloSign
4
5
  module Proxy
5
- class Account
6
- attr_reader :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
6
+ class Account < Object
11
7
 
12
8
  def create(params = {})
13
- client.post('/account/create', body: params, auth_not_required: true)
9
+ @client.post('/account/create', body: params, auth_not_required: true)
14
10
  end
15
11
 
16
12
  def settings
17
- HelloSign::Proxy::Settings.new(client)
13
+ HelloSign::Proxy::Settings.new(@client)
18
14
  end
19
15
 
20
16
  end
@@ -0,0 +1,12 @@
1
+ module HelloSign
2
+ module Proxy
3
+ class Object
4
+ DEFAULT_PAGE = 1
5
+
6
+ def initialize(client)
7
+ @client = client
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -1,27 +1,29 @@
1
+ require 'hello_sign/proxy/object'
2
+
1
3
  module HelloSign
2
4
  module Proxy
3
- class ReusableForm
4
- attr_reader :client, :form_id
5
+ class ReusableForm < Object
5
6
 
6
7
  def initialize(client, form_id)
7
- @client = client
8
+ super(client)
9
+
8
10
  @form_id = form_id
9
11
  end
10
12
 
11
13
  def list(params = {})
12
- client.get('/reusable_form/list', params: params)
14
+ @client.get('/reusable_form/list', params: params)
13
15
  end
14
16
 
15
17
  def show
16
- client.get("/reusable_form/#{form_id}")
18
+ @client.get("/reusable_form/#@form_id")
17
19
  end
18
20
 
19
21
  def grant_access(params = {})
20
- client.post("/reusable_form/add_user/#{form_id}", body: params)
22
+ @client.post("/reusable_form/add_user/#@form_id", body: params)
21
23
  end
22
24
 
23
25
  def revoke_access(params = {})
24
- client.post("/reusable_form/remove_user/#{form_id}", body: params)
26
+ @client.post("/reusable_form/remove_user/#@form_id", body: params)
25
27
  end
26
28
 
27
29
  end
@@ -1,18 +1,15 @@
1
+ require 'hello_sign/proxy/object'
2
+
1
3
  module HelloSign
2
4
  module Proxy
3
- class Settings
4
- attr_reader :client
5
-
6
- def initialize(client)
7
- @client = client
8
- end
5
+ class Settings < Object
9
6
 
10
7
  def show
11
- client.get('/account')
8
+ @client.get('/account')
12
9
  end
13
10
 
14
11
  def update(params = {})
15
- client.post('/account', body: params)
12
+ @client.post('/account', body: params)
16
13
  end
17
14
 
18
15
  end
@@ -1,76 +1,100 @@
1
+ require 'hello_sign/proxy/object'
1
2
  require 'hello_sign/parameters/signature_request'
2
3
  require 'hello_sign/parameters/reusable_form_signature_request'
3
4
 
4
5
  module HelloSign
5
6
  module Proxy
6
- class SignatureRequest
7
- attr_reader :client, :request_id
7
+ class SignatureRequest < Object
8
8
 
9
9
  def initialize(client, request_id)
10
- @client = client
10
+ super(client)
11
+
11
12
  @request_id = request_id
12
13
  end
13
14
 
14
15
  def deliver(params = {}, &block)
15
- if form_id = params[:form]
16
+ if (form_id = params[:form])
16
17
  deliver_request_with_form(form_id, &block)
17
18
  else
18
19
  deliver_request(&block)
19
20
  end
20
21
  end
21
22
 
23
+ def create_embedded_request(params = {}, &block)
24
+ if (form_id = params[:form])
25
+ deliver_embedded_request_with_form(form_id, &block)
26
+ else
27
+ deliver_embedded_request(&block)
28
+ end
29
+ end
30
+
22
31
  def status
23
- client.get("/signature_request/#{request_id}")
32
+ @client.get("/signature_request/#@request_id")
24
33
  end
25
34
 
26
35
  def list(params = {})
27
- client.get('/signature_request/list', params: {page: 1}.merge(params))
28
-
36
+ @client.get('/signature_request/list', {
37
+ params: {page: DEFAULT_PAGE}.merge(params)
38
+ })
29
39
  end
30
40
 
31
41
  def remind(params = {})
32
- client.post(
33
- "/signature_request/remind/#{request_id}",
42
+ @client.post("/signature_request/remind/#@request_id", {
34
43
  body: {email_address: params.delete(:email)}.merge(params)
35
- )
44
+ })
36
45
  end
37
46
 
38
47
  def cancel
39
- client.post("/signature_request/cancel/#{request_id}")
48
+ @client.post("/signature_request/cancel/#@request_id")
40
49
  end
41
50
 
42
51
  def final_copy
43
- client.get("/signature_request/final_copy/#{request_id}")
52
+ @client.get("/signature_request/final_copy/#@request_id")
53
+ end
54
+
55
+ def temporary_signature_url(signature_id)
56
+ @client.get("/embedded/sign_url/#{signature_id}")
44
57
  end
45
58
 
46
59
  private
47
60
 
48
61
  def deliver_request
49
- yield request_parameters
50
-
51
- client.post(
52
- '/signature_request/send',
53
- body: request_parameters.formatted
54
- )
62
+ @client.post('/signature_request/send', {
63
+ body: Parameters::SignatureRequest.new.tap { |p| yield p }.formatted
64
+ })
55
65
  end
56
66
 
57
67
  def deliver_request_with_form(form_id)
58
- reusable_form_request_parameters.reusable_form_id = form_id
59
- yield reusable_form_request_parameters
68
+ @client.post('/signature_request/send_with_reusable_form', {
69
+ body:
70
+ Parameters::ReusableFormSignatureRequest.new.tap do |p|
71
+ p.reusable_form_id = form_id
72
+ yield p
73
+ end.formatted
74
+ })
75
+ end
60
76
 
61
- client.post(
62
- '/signature_request/send_with_reusable_form',
63
- body: reusable_form_request_parameters.formatted
77
+ def deliver_embedded_request
78
+ @client.post('/signature_request/create_embedded',
79
+ body:
80
+ Parameters::SignatureRequest.new.tap do |p|
81
+ p.client_id = @client.client_id
82
+
83
+ yield p
84
+ end.formatted
64
85
  )
65
86
  end
66
87
 
67
- def request_parameters
68
- @request_parameters ||= Parameters::SignatureRequest.new
69
- end
88
+ def deliver_embedded_request_with_form(form_id)
89
+ @client.post('/signature_request/create_embedded_with_reusable_form',
90
+ body:
91
+ Parameters::ReusableFormSignatureRequest.new.tap do |p|
92
+ p.reusable_form_id = form_id
93
+ p.client_id = @client.client_id
70
94
 
71
- def reusable_form_request_parameters
72
- @reusable_form_request_parameters ||=
73
- Parameters::ReusableFormSignatureRequest.new
95
+ yield p
96
+ end.formatted
97
+ )
74
98
  end
75
99
 
76
100
  end
@@ -1,34 +1,31 @@
1
+ require 'hello_sign/proxy/object'
2
+
1
3
  module HelloSign
2
4
  module Proxy
3
- class Team
4
- attr_reader :client
5
-
6
- def initialize(client)
7
- @client = client
8
- end
5
+ class Team < Object
9
6
 
10
7
  def create(params = {})
11
- client.post('/team/create', body: params)
8
+ @client.post('/team/create', body: params)
12
9
  end
13
10
 
14
11
  def show
15
- client.get('/team')
12
+ @client.get('/team')
16
13
  end
17
14
 
18
15
  def update(params = {})
19
- client.post('/team', body: params)
16
+ @client.post('/team', body: params)
20
17
  end
21
18
 
22
19
  def destroy
23
- client.post('/team/destroy')
20
+ @client.post('/team/destroy')
24
21
  end
25
22
 
26
23
  def add_member(params = {})
27
- client.post('/team/add_member', body: params)
24
+ @client.post('/team/add_member', body: params)
28
25
  end
29
26
 
30
27
  def remove_member(params = {})
31
- client.post('/team/remove_member', body: params)
28
+ @client.post('/team/remove_member', body: params)
32
29
  end
33
30
 
34
31
  end
@@ -1,26 +1,14 @@
1
+ require 'hello_sign/proxy/object'
1
2
  require 'hello_sign/parameters/unclaimed_draft'
2
3
 
3
4
  module HelloSign
4
5
  module Proxy
5
- class UnclaimedDraft
6
- attr_reader :client
7
-
8
- def initialize(client)
9
- @client = client
10
- end
6
+ class UnclaimedDraft < Object
11
7
 
12
8
  def create
13
- yield draft_parameters
14
- client.post(
15
- '/unclaimed_draft/create',
16
- body: draft_parameters.formatted
17
- )
18
- end
19
-
20
- private
21
-
22
- def draft_parameters
23
- @draft_parameters ||= Parameters::UnclaimedDraft.new
9
+ @client.post('/unclaimed_draft/create', {
10
+ body: Parameters::UnclaimedDraft.new.tap { |p| yield p }.formatted
11
+ })
24
12
  end
25
13
 
26
14
  end
@@ -1,3 +1,3 @@
1
1
  module HelloSign
2
- VERSION = '1.3.1'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -47,4 +47,9 @@ describe HelloSign do
47
47
  stub_request_with_error('signature_request_cancel_failed')
48
48
  expect { any_call }.to raise_error HelloSign::Error::SignatureRequestCancelFailed
49
49
  end
50
+
51
+ specify do
52
+ stub_request_with_error('maintenance')
53
+ expect { any_call }.to raise_error HelloSign::Error::Maintenance
54
+ end
50
55
  end
@@ -13,6 +13,7 @@ describe HelloSign::Error do
13
13
  invalid_recipient
14
14
  convert_failed
15
15
  signature_request_cancel_failed
16
+ maintenance
16
17
  ).each do |error_name|
17
18
  context "when the error name is #{error_name}" do
18
19
  it "returns the proper exception" do
@@ -95,6 +96,12 @@ describe HelloSign::Error do
95
96
  )
96
97
  end
97
98
 
99
+ specify do
100
+ expect { raise HelloSign::Error::Maintenance }.to(
101
+ raise_error HelloSign::Error
102
+ )
103
+ end
104
+
98
105
  describe "#to_s" do
99
106
  let(:error) {
100
107
  HelloSign::Error.new('This is why an error was received.', 401)
@@ -4,10 +4,12 @@ require 'hello_sign'
4
4
  describe HelloSign do
5
5
  let(:email_address) { double('email address') }
6
6
  let(:password) { double('password') }
7
+ let(:client_id) { double('client_id') }
7
8
 
8
9
  before do
9
10
  HelloSign.email_address = email_address
10
11
  HelloSign.password = password
12
+ HelloSign.client_id = client_id
11
13
  end
12
14
 
13
15
  after do
@@ -26,7 +28,7 @@ describe HelloSign do
26
28
 
27
29
  it "passes the credentials when creating the client" do
28
30
  expect(HelloSign::Client).to(
29
- have_received(:new).with(email_address, password)
31
+ have_received(:new).with(email_address, password, client_id)
30
32
  )
31
33
  end
32
34
  end
@@ -38,6 +40,7 @@ describe HelloSign do
38
40
  allow(HelloSign::Client).to receive(:new).and_return(client, new_client)
39
41
  allow(client).to receive(:email_address).and_return(email_address)
40
42
  allow(client).to receive(:password).and_return(password)
43
+ allow(client).to receive(:client_id).and_return(client_id)
41
44
 
42
45
  HelloSign.client
43
46
  end
@@ -48,6 +51,7 @@ describe HelloSign do
48
51
  before do
49
52
  HelloSign.email_address = 'bob@earth.com'
50
53
  HelloSign.password = 'being_human'
54
+ HelloSign.client_id = 'client_id'
51
55
  end
52
56
 
53
57
  its(:client) { should be new_client }
@@ -18,6 +18,7 @@ describe HelloSign::Middleware::RaiseError do
18
18
  'invalid_recipient' => HelloSign::Error::InvalidRecipient,
19
19
  'convert_failed' => HelloSign::Error::ConvertFailed,
20
20
  'signature_request_cancel_failed' => HelloSign::Error::SignatureRequestCancelFailed,
21
+ 'maintenance' => HelloSign::Error::Maintenance,
21
22
  'unidentified_error' => HelloSign::Error
22
23
  }.each { |error_pair| it_raises_the_proper_exception(*error_pair) }
23
24
 
@@ -17,18 +17,20 @@ describe HelloSign::Parameters::ReusableFormSignatureRequest do
17
17
  'accountant' => {email_address: 'accountant@llc.com'}
18
18
  },
19
19
  signers: {
20
- 'consultant' => {name: 'Jack', email_address: 'jack@hill.com'},
20
+ 'consultant' => {name: 'Jack', email_address: 'jack@hill.com'},
21
21
  'client' => {name: 'Jill', email_address: 'jill@hill.com'}
22
22
  },
23
23
  custom_fields: {
24
24
  'cost' => '$20,000',
25
25
  'time' => 'two weeks'
26
26
  },
27
- test_mode: 1
27
+ test_mode: 1,
28
+ client_id: 'client_id'
28
29
  }
29
30
  end
30
31
 
31
32
  before do
33
+ request_parameters.client_id = 'client_id'
32
34
  request_parameters.test_mode = 1
33
35
  request_parameters.reusable_form_id = 'form_id'
34
36
  request_parameters.title = 'Lease'
@@ -11,6 +11,7 @@ describe HelloSign::Parameters::SignatureRequest do
11
11
  context "when all required arguments are set" do
12
12
  let(:expected) do
13
13
  {
14
+ client_id: 'client_id',
14
15
  test_mode: 1,
15
16
  title: 'Lease',
16
17
  subject: 'Sign this',
@@ -39,6 +40,7 @@ describe HelloSign::Parameters::SignatureRequest do
39
40
  end
40
41
 
41
42
  before do
43
+ request_parameters.client_id = 'client_id'
42
44
  request_parameters.test_mode = 1
43
45
  request_parameters.title = 'Lease'
44
46
  request_parameters.subject = 'Sign this'
@@ -2,16 +2,10 @@ require 'helper'
2
2
  require 'hello_sign/proxy/settings'
3
3
 
4
4
  describe HelloSign::Proxy::Settings do
5
- let(:client) { double('client') }
5
+ let(:client) { double('client') }
6
6
 
7
7
  subject(:settings) { HelloSign::Proxy::Settings.new(client) }
8
8
 
9
- describe "#client" do
10
- it "returns the client" do
11
- expect(settings.client).to eq client
12
- end
13
- end
14
-
15
9
  describe "#update" do
16
10
  let(:callback_url) { 'http://www.callmemaybe.com' }
17
11
  let(:api_response) { double('API response') }
@@ -75,6 +75,83 @@ describe HelloSign::Proxy::SignatureRequest do
75
75
  end
76
76
  end
77
77
 
78
+ describe "#create_embedded_request" do
79
+ let(:formatted_request_body) { double('formatted request body') }
80
+ let(:request_parameters) { double('request parameters') }
81
+
82
+ before do
83
+ allow(client).to receive(:client_id).and_return('client_id')
84
+ allow(request_parameters).to receive(:foo=)
85
+ allow(request_parameters).to receive(:client_id=)
86
+ allow(request_parameters).to(
87
+ receive(:formatted).and_return(formatted_request_body)
88
+ )
89
+ allow(HelloSign::Parameters::SignatureRequest).to(
90
+ receive(:new).and_return(request_parameters)
91
+ )
92
+
93
+ @response = sr_proxy.create_embedded_request { |p| p.foo = 'bar' }
94
+ end
95
+
96
+ it "yields the request parameters to the block" do
97
+ expect(request_parameters).to have_received(:foo=).with('bar')
98
+ end
99
+
100
+ it "sets the client ID in the request parameters" do
101
+ expect(request_parameters).to(
102
+ have_received(:client_id=).with('client_id')
103
+ )
104
+ end
105
+
106
+ it "sends a signature request" do
107
+ expect(client).to have_received(:post).with(
108
+ '/signature_request/create_embedded',
109
+ body: formatted_request_body
110
+ )
111
+ end
112
+
113
+ it "returns the response" do
114
+ expect(@response).to eq api_response
115
+ end
116
+
117
+ context "when a reusable form is specified" do
118
+ let(:form_request_parameters) { double('form request parameters') }
119
+
120
+ before do
121
+ allow(client).to receive(:client_id).and_return('client_id')
122
+
123
+ allow(form_request_parameters).to receive(:client_id=)
124
+ allow(form_request_parameters).to(
125
+ receive(:formatted).and_return(formatted_request_body)
126
+ )
127
+ allow(form_request_parameters).to receive(:reusable_form_id=)
128
+
129
+ allow(HelloSign::Parameters::ReusableFormSignatureRequest).to(
130
+ receive(:new).and_return(form_request_parameters)
131
+ )
132
+
133
+ @response = sr_proxy.create_embedded_request(form: 'form_id') { }
134
+ end
135
+
136
+ it "sets the reusable form ID in the request parameters" do
137
+ expect(form_request_parameters).to(
138
+ have_received(:reusable_form_id=).with('form_id')
139
+ )
140
+ end
141
+
142
+ it "sends a reusable form signature request" do
143
+ expect(client).to have_received(:post).with(
144
+ '/signature_request/create_embedded_with_reusable_form',
145
+ body: formatted_request_body
146
+ )
147
+ end
148
+
149
+ it "returns the response" do
150
+ expect(@response).to eq api_response
151
+ end
152
+ end
153
+ end
154
+
78
155
  describe "#status" do
79
156
  before { @response = sr_proxy.status }
80
157
 
@@ -165,4 +242,20 @@ describe HelloSign::Proxy::SignatureRequest do
165
242
  expect(@response).to eq api_response
166
243
  end
167
244
  end
245
+
246
+ describe "#temporary_signature_url" do
247
+ let(:signature_id) { double('signature_id') }
248
+
249
+ before { @response = sr_proxy.temporary_signature_url(signature_id) }
250
+
251
+ it "fetches the temporary URL for an embedded request" do
252
+ expect(client).to have_received(:get).with(
253
+ "/embedded/sign_url/#{signature_id}"
254
+ )
255
+ end
256
+
257
+ it "returns the response" do
258
+ expect(@response).to eq api_response
259
+ end
260
+ end
168
261
  end
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hello_sign
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
5
- prerelease:
4
+ version: 1.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Craig Little
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-02 00:00:00.000000000 Z
11
+ date: 2014-03-14 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: faraday
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '0.8'
19
+ version: 0.8.0
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
29
- version: '0.8'
26
+ version: 0.8.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: faraday_middleware
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: :runtime
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
@@ -46,9 +41,8 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: hashie
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '1.0'
54
48
  - - <
@@ -57,9 +51,8 @@ dependencies:
57
51
  type: :runtime
58
52
  prerelease: false
59
53
  version_requirements: !ruby/object:Gem::Requirement
60
- none: false
61
54
  requirements:
62
- - - ! '>='
55
+ - - '>='
63
56
  - !ruby/object:Gem::Version
64
57
  version: '1.0'
65
58
  - - <
@@ -68,23 +61,20 @@ dependencies:
68
61
  - !ruby/object:Gem::Dependency
69
62
  name: rake
70
63
  requirement: !ruby/object:Gem::Requirement
71
- none: false
72
64
  requirements:
73
- - - ! '>='
65
+ - - '>='
74
66
  - !ruby/object:Gem::Version
75
67
  version: '0'
76
68
  type: :development
77
69
  prerelease: false
78
70
  version_requirements: !ruby/object:Gem::Requirement
79
- none: false
80
71
  requirements:
81
- - - ! '>='
72
+ - - '>='
82
73
  - !ruby/object:Gem::Version
83
74
  version: '0'
84
75
  - !ruby/object:Gem::Dependency
85
76
  name: rspec
86
77
  requirement: !ruby/object:Gem::Requirement
87
- none: false
88
78
  requirements:
89
79
  - - ~>
90
80
  - !ruby/object:Gem::Version
@@ -92,7 +82,6 @@ dependencies:
92
82
  type: :development
93
83
  prerelease: false
94
84
  version_requirements: !ruby/object:Gem::Requirement
95
- none: false
96
85
  requirements:
97
86
  - - ~>
98
87
  - !ruby/object:Gem::Version
@@ -100,7 +89,6 @@ dependencies:
100
89
  - !ruby/object:Gem::Dependency
101
90
  name: webmock
102
91
  requirement: !ruby/object:Gem::Requirement
103
- none: false
104
92
  requirements:
105
93
  - - ~>
106
94
  - !ruby/object:Gem::Version
@@ -108,7 +96,6 @@ dependencies:
108
96
  type: :development
109
97
  prerelease: false
110
98
  version_requirements: !ruby/object:Gem::Requirement
111
- none: false
112
99
  requirements:
113
100
  - - ~>
114
101
  - !ruby/object:Gem::Version
@@ -131,6 +118,7 @@ files:
131
118
  - lib/hello_sign/parameters/signature_request.rb
132
119
  - lib/hello_sign/parameters/unclaimed_draft.rb
133
120
  - lib/hello_sign/proxy/account.rb
121
+ - lib/hello_sign/proxy/object.rb
134
122
  - lib/hello_sign/proxy/reusable_form.rb
135
123
  - lib/hello_sign/proxy/settings.rb
136
124
  - lib/hello_sign/proxy/signature_request.rb
@@ -172,33 +160,26 @@ files:
172
160
  homepage: https://github.com/craiglittle/hello_sign
173
161
  licenses:
174
162
  - MIT
163
+ metadata: {}
175
164
  post_install_message:
176
165
  rdoc_options: []
177
166
  require_paths:
178
167
  - lib
179
168
  required_ruby_version: !ruby/object:Gem::Requirement
180
- none: false
181
169
  requirements:
182
- - - ! '>='
170
+ - - '>='
183
171
  - !ruby/object:Gem::Version
184
172
  version: '0'
185
- segments:
186
- - 0
187
- hash: 772753378671627303
188
173
  required_rubygems_version: !ruby/object:Gem::Requirement
189
- none: false
190
174
  requirements:
191
- - - ! '>='
175
+ - - '>='
192
176
  - !ruby/object:Gem::Version
193
177
  version: '0'
194
- segments:
195
- - 0
196
- hash: 772753378671627303
197
178
  requirements: []
198
179
  rubyforge_project:
199
- rubygems_version: 1.8.23
180
+ rubygems_version: 2.0.3
200
181
  signing_key:
201
- specification_version: 3
182
+ specification_version: 4
202
183
  summary: A Ruby interface to the HelloSign API
203
184
  test_files:
204
185
  - spec/fixtures/test.jpg