hello_sign 0.6.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/lib/hello_sign/client.rb +2 -2
  2. data/lib/hello_sign/parameters/reusable_form_signature_request.rb +9 -9
  3. data/lib/hello_sign/parameters/signature_request.rb +15 -15
  4. data/lib/hello_sign/parameters/unclaimed_draft.rb +7 -7
  5. data/lib/hello_sign/proxy/account.rb +1 -1
  6. data/lib/hello_sign/proxy/reusable_form.rb +10 -9
  7. data/lib/hello_sign/proxy/settings.rb +1 -1
  8. data/lib/hello_sign/proxy/signature_request.rb +13 -12
  9. data/lib/hello_sign/proxy/team.rb +4 -4
  10. data/lib/hello_sign/proxy/unclaimed_draft.rb +1 -1
  11. data/lib/hello_sign/proxy.rb +4 -4
  12. data/lib/hello_sign/upload_io.rb +56 -0
  13. data/lib/hello_sign/version.rb +1 -1
  14. data/lib/hello_sign.rb +1 -1
  15. data/spec/helper.rb +0 -2
  16. data/spec/integration/account_spec.rb +4 -4
  17. data/spec/integration/hello_sign_spec.rb +2 -2
  18. data/spec/integration/helper.rb +6 -1
  19. data/spec/integration/reusable_form_spec.rb +16 -20
  20. data/spec/integration/signature_request_spec.rb +52 -57
  21. data/spec/integration/team_spec.rb +8 -8
  22. data/spec/integration/unclaimed_draft_spec.rb +3 -3
  23. data/spec/shared_examples/proxy.rb +15 -5
  24. data/spec/unit/client_spec.rb +3 -3
  25. data/spec/unit/middleware/raise_error_spec.rb +1 -1
  26. data/spec/unit/parameters/reusable_form_signature_request_spec.rb +17 -17
  27. data/spec/unit/parameters/signature_request_spec.rb +25 -20
  28. data/spec/unit/parameters/unclaimed_draft_spec.rb +12 -11
  29. data/spec/unit/proxy/account_spec.rb +6 -6
  30. data/spec/unit/proxy/reusable_form_spec.rb +13 -12
  31. data/spec/unit/proxy/settings_spec.rb +3 -3
  32. data/spec/unit/proxy/signature_request_spec.rb +29 -32
  33. data/spec/unit/proxy/team_spec.rb +12 -12
  34. data/spec/unit/proxy/unclaimed_draft_spec.rb +1 -1
  35. data/spec/unit/upload_io_spec.rb +60 -0
  36. metadata +19 -15
@@ -5,9 +5,15 @@ describe HelloSign::Proxy::SignatureRequest do
5
5
  let(:client) { double('client') }
6
6
  let(:request_id) { 'request_id' }
7
7
  let(:api_response) { double('API response') }
8
- subject(:sr_proxy) { HelloSign::Proxy::SignatureRequest.new(client) }
8
+ subject(:sr_proxy) { HelloSign::Proxy::SignatureRequest.new(client, request_id) }
9
9
 
10
- its(:client) { should eq client }
10
+ before do
11
+ client.stub(:get).and_return(api_response)
12
+ client.stub(:post).and_return(api_response)
13
+ end
14
+
15
+ its(:client) { should eq client }
16
+ its(:request_id) { should eq request_id }
11
17
 
12
18
  describe "#deliver" do
13
19
  let(:formatted_request_body) { double('formatted request body') }
@@ -17,8 +23,6 @@ describe HelloSign::Proxy::SignatureRequest do
17
23
  request_parameters.stub(:foo=)
18
24
  request_parameters.stub(:formatted).and_return(formatted_request_body)
19
25
  sr_proxy.request_parameters = request_parameters
20
-
21
- client.stub(:post).and_return(api_response)
22
26
  end
23
27
 
24
28
  it "yields the request parameters to the block" do
@@ -28,7 +32,7 @@ describe HelloSign::Proxy::SignatureRequest do
28
32
 
29
33
  it "sends a signature request" do
30
34
  client.should_receive(:post)
31
- .with('/signature_request/send', :body => formatted_request_body)
35
+ .with('/signature_request/send', body: formatted_request_body)
32
36
  sr_proxy.deliver { |params| params.foo = 'bar' }
33
37
  end
34
38
 
@@ -44,31 +48,29 @@ describe HelloSign::Proxy::SignatureRequest do
44
48
 
45
49
  it "sets the reusable form ID in the request parameters" do
46
50
  request_parameters.should_receive(:reusable_form_id=).with('form_id')
47
- sr_proxy.deliver(:form => 'form_id') {}
51
+ sr_proxy.deliver(form: 'form_id') {}
48
52
  end
49
53
 
50
54
  it "sends a reusable form signature request" do
51
55
  client.should_receive(:post)
52
- .with('/signature_request/send_with_reusable_form', :body => formatted_request_body)
53
- sr_proxy.deliver(:form => 'form_id') {}
56
+ .with('/signature_request/send_with_reusable_form', body: formatted_request_body)
57
+ sr_proxy.deliver(form: 'form_id') {}
54
58
  end
55
59
 
56
60
  it "returns the response" do
57
- expect(sr_proxy.deliver(:form => 'form_id') {}).to eq api_response
61
+ expect(sr_proxy.deliver(form: 'form_id') {}).to eq api_response
58
62
  end
59
63
  end
60
64
  end
61
65
 
62
66
  describe "#status" do
63
67
  it "fetches the signature request status" do
64
- client.should_receive(:get)
65
- .with('/signature_request/request_id')
66
- sr_proxy.status(request_id)
68
+ client.should_receive(:get).with("/signature_request/#{request_id}")
69
+ sr_proxy.status
67
70
  end
68
71
 
69
72
  it "returns the response" do
70
- client.stub(:get).and_return(api_response)
71
- expect(sr_proxy.status(request_id)).to eq api_response
73
+ expect(sr_proxy.status).to eq api_response
72
74
  end
73
75
  end
74
76
 
@@ -76,7 +78,7 @@ describe HelloSign::Proxy::SignatureRequest do
76
78
  context "when called without a page number" do
77
79
  it "fetches the first page of signature requests" do
78
80
  client.should_receive(:get)
79
- .with('/signature_request/list', :params => {:page => 1})
81
+ .with('/signature_request/list', params: {page: 1})
80
82
  sr_proxy.list
81
83
  end
82
84
 
@@ -89,13 +91,13 @@ describe HelloSign::Proxy::SignatureRequest do
89
91
  context "when called with a page number" do
90
92
  it "fetches a list of signature requests from the specified page" do
91
93
  client.should_receive(:get)
92
- .with('/signature_request/list', :params => {:page => 10})
93
- sr_proxy.list(:page => 10)
94
+ .with('/signature_request/list', params: {page: 10})
95
+ sr_proxy.list(page: 10)
94
96
  end
95
97
 
96
98
  it "returns the response" do
97
99
  client.stub(:get).and_return(api_response)
98
- expect(sr_proxy.list(:page => 10)).to eq api_response
100
+ expect(sr_proxy.list(page: 10)).to eq api_response
99
101
  end
100
102
  end
101
103
  end
@@ -105,39 +107,34 @@ describe HelloSign::Proxy::SignatureRequest do
105
107
 
106
108
  it "sends a signature request reminder" do
107
109
  client.should_receive(:post)
108
- .with('/signature_request/remind/request_id', :body => {:email_address => email})
109
- sr_proxy.remind(request_id, :email => email)
110
+ .with("/signature_request/remind/#{request_id}", body: {email_address: email})
111
+ sr_proxy.remind(email: email)
110
112
  end
111
113
 
112
114
  it "returns the response" do
113
- client.stub(:post).and_return(api_response)
114
- expect(sr_proxy.remind(request_id, :email => email)).to eq api_response
115
+ expect(sr_proxy.remind(email: email)).to eq api_response
115
116
  end
116
117
  end
117
118
 
118
119
  describe "#cancel" do
119
120
  it "cancels a signature request" do
120
- client.should_receive(:post)
121
- .with('/signature_request/cancel/request_id')
122
- sr_proxy.cancel(request_id)
121
+ client.should_receive(:post).with("/signature_request/cancel/#{request_id}")
122
+ sr_proxy.cancel
123
123
  end
124
124
 
125
125
  it "returns the response" do
126
- client.stub(:post).and_return(api_response)
127
- expect(sr_proxy.cancel(request_id)).to eq api_response
126
+ expect(sr_proxy.cancel).to eq api_response
128
127
  end
129
128
  end
130
129
 
131
130
  describe "#final_copy" do
132
131
  it "fetches a final copy of the signature request" do
133
- client.should_receive(:get)
134
- .with('/signature_request/final_copy/request_id')
135
- sr_proxy.final_copy(request_id)
132
+ client.should_receive(:get).with("/signature_request/final_copy/#{request_id}")
133
+ sr_proxy.final_copy
136
134
  end
137
135
 
138
136
  it "returns the response" do
139
- client.stub(:get).and_return(api_response)
140
- expect(sr_proxy.final_copy(request_id)).to eq api_response
137
+ expect(sr_proxy.final_copy).to eq api_response
141
138
  end
142
139
  end
143
140
  end
@@ -18,12 +18,12 @@ describe HelloSign::Proxy::Team do
18
18
  let(:name) { 'The Browncoats' }
19
19
 
20
20
  it "sends a request to create a team" do
21
- client.should_receive(:post).with('/team/create', :body => {:name => name})
22
- team_proxy.create(:name => name)
21
+ client.should_receive(:post).with('/team/create', body: {name: name})
22
+ team_proxy.create(name: name)
23
23
  end
24
24
 
25
25
  it "returns the API response" do
26
- expect(team_proxy.create(:name => name)).to eq api_response
26
+ expect(team_proxy.create(name: name)).to eq api_response
27
27
  end
28
28
 
29
29
  end
@@ -46,12 +46,12 @@ describe HelloSign::Proxy::Team do
46
46
  let(:new_name) { 'The Bluecoats' }
47
47
 
48
48
  it "sends a request to update the team information" do
49
- client.should_receive(:post).with('/team', :body => {:name => new_name})
50
- team_proxy.update(:name => new_name)
49
+ client.should_receive(:post).with('/team', body: {name: new_name})
50
+ team_proxy.update(name: new_name)
51
51
  end
52
52
 
53
53
  it "returns the API response" do
54
- expect(team_proxy.update(:name => new_name)).to eq api_response
54
+ expect(team_proxy.update(name: new_name)).to eq api_response
55
55
  end
56
56
 
57
57
  end
@@ -74,12 +74,12 @@ describe HelloSign::Proxy::Team do
74
74
  let(:email_address) { 'john@johnson.com' }
75
75
 
76
76
  it "sends a request to add the member to the team" do
77
- client.should_receive(:post).with('/team/add_member', :body => {:email_address => email_address})
78
- team_proxy.add_member(:email_address => email_address)
77
+ client.should_receive(:post).with('/team/add_member', body: {email_address: email_address})
78
+ team_proxy.add_member(email_address: email_address)
79
79
  end
80
80
 
81
81
  it "returns the API response" do
82
- expect(team_proxy.add_member(:email_address => email_address)).to eq api_response
82
+ expect(team_proxy.add_member(email_address: email_address)).to eq api_response
83
83
  end
84
84
 
85
85
  end
@@ -89,12 +89,12 @@ describe HelloSign::Proxy::Team do
89
89
  let(:email_address) { 'john@johnson.com' }
90
90
 
91
91
  it "sends a request to remove the member from the team" do
92
- client.should_receive(:post).with('/team/remove_member', :body => {:email_address => email_address})
93
- team_proxy.remove_member(:email_address => email_address)
92
+ client.should_receive(:post).with('/team/remove_member', body: {email_address: email_address})
93
+ team_proxy.remove_member(email_address: email_address)
94
94
  end
95
95
 
96
96
  it "returns the API response" do
97
- expect(team_proxy.remove_member(:email_address => email_address)).to eq api_response
97
+ expect(team_proxy.remove_member(email_address: email_address)).to eq api_response
98
98
  end
99
99
 
100
100
  end
@@ -17,7 +17,7 @@ describe HelloSign::Proxy::UnclaimedDraft do
17
17
  draft_parameters.stub(:formatted).and_return(formatted_request_body)
18
18
  draft_parameters.should_receive(:foo=).with('bar')
19
19
  client.should_receive(:post)
20
- .with('/unclaimed_draft/create', :body => formatted_request_body)
20
+ .with('/unclaimed_draft/create', body: formatted_request_body)
21
21
  .and_return(api_response)
22
22
  end
23
23
 
@@ -0,0 +1,60 @@
1
+ require 'helper'
2
+ require 'hello_sign/upload_io'
3
+
4
+ describe HelloSign::UploadIO do
5
+ let(:upload_file) { double('upload file') }
6
+ let(:io_object) { double('IO object') }
7
+ let(:file_converter_source) { double('file converter source') }
8
+
9
+ before { HelloSign::UploadIO.any_instance.stub(:file_converter_source).and_return(file_converter_source) }
10
+
11
+ it "returns the upload file" do
12
+ file_converter_source.stub(:new).and_return(upload_file)
13
+
14
+ expect(HelloSign::UploadIO.new(filename: 'test.txt').upload).to eq upload_file
15
+ end
16
+
17
+ context "#upload" do
18
+ specify do
19
+ file_converter_source.should_receive(:new).with('test.txt', 'text/plain')
20
+
21
+ HelloSign::UploadIO.new(filename: 'test.txt').upload
22
+ end
23
+
24
+ specify do
25
+ file_converter_source.should_receive(:new).with('test.foo', 'text/plain')
26
+
27
+ HelloSign::UploadIO.new(filename: 'test.foo').upload
28
+ end
29
+
30
+ specify do
31
+ file_converter_source.should_receive(:new).with('test.baz', 'fake/mime')
32
+
33
+ HelloSign::UploadIO.new(filename: 'test.baz', mime: 'fake/mime').upload
34
+ end
35
+
36
+ specify do
37
+ file_converter_source.should_receive(:new).with(io_object, 'text/plain')
38
+
39
+ HelloSign::UploadIO.new(io: io_object).upload
40
+ end
41
+
42
+ specify do
43
+ file_converter_source.should_receive(:new).with(io_object, 'fake/mime')
44
+
45
+ HelloSign::UploadIO.new(io: io_object, mime: 'fake/mime').upload
46
+ end
47
+
48
+ specify do
49
+ file_converter_source.should_receive(:new).with(io_object, 'fake/mime', 'test.foo')
50
+
51
+ HelloSign::UploadIO.new(filename: 'test.foo', io: io_object, mime: 'fake/mime').upload
52
+ end
53
+
54
+ specify do
55
+ file_converter_source.should_receive(:new).with(io_object, 'text/plain', 'test.foo')
56
+
57
+ HelloSign::UploadIO.new(filename: 'test.foo', io: io_object).upload
58
+ end
59
+ end
60
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hello_sign
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-19 00:00:00.000000000 Z
12
+ date: 2013-03-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.8.4
21
+ version: '0.8'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 0.8.4
29
+ version: '0.8'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: faraday_middleware-multi_json
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 2.12.0
53
+ version: '2.12'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 2.12.0
61
+ version: '2.12'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: webmock
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 1.9.0
69
+ version: '1.9'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.9.0
77
+ version: '1.9'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rake
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 10.0.3
85
+ version: '10.0'
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,15 +90,15 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 10.0.3
93
+ version: '10.0'
94
94
  - !ruby/object:Gem::Dependency
95
- name: vcr
95
+ name: coveralls
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 2.4.0
101
+ version: '0.6'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: 2.4.0
109
+ version: '0.6'
110
110
  description: A Ruby interface to the HelloSign API.
111
111
  email:
112
112
  - craiglttl@gmail.com
@@ -127,6 +127,7 @@ files:
127
127
  - lib/hello_sign/proxy/team.rb
128
128
  - lib/hello_sign/proxy/unclaimed_draft.rb
129
129
  - lib/hello_sign/proxy.rb
130
+ - lib/hello_sign/upload_io.rb
130
131
  - lib/hello_sign/version.rb
131
132
  - lib/hello_sign.rb
132
133
  - spec/fixtures/test.jpg
@@ -155,8 +156,10 @@ files:
155
156
  - spec/unit/proxy/signature_request_spec.rb
156
157
  - spec/unit/proxy/team_spec.rb
157
158
  - spec/unit/proxy/unclaimed_draft_spec.rb
159
+ - spec/unit/upload_io_spec.rb
158
160
  homepage: http://www.github.com/craiglittle/hello_sign
159
- licenses: []
161
+ licenses:
162
+ - MIT
160
163
  post_install_message:
161
164
  rdoc_options: []
162
165
  require_paths:
@@ -175,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
178
  version: '0'
176
179
  requirements: []
177
180
  rubyforge_project:
178
- rubygems_version: 1.8.24
181
+ rubygems_version: 1.8.25
179
182
  signing_key:
180
183
  specification_version: 3
181
184
  summary: A Ruby interface to the HelloSign API.
@@ -206,3 +209,4 @@ test_files:
206
209
  - spec/unit/proxy/signature_request_spec.rb
207
210
  - spec/unit/proxy/team_spec.rb
208
211
  - spec/unit/proxy/unclaimed_draft_spec.rb
212
+ - spec/unit/upload_io_spec.rb