rightsignature-railstyle 1.1.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'rspec'
3
+
4
+ require File.dirname(__FILE__) + '/../lib/rightsignature'
5
+
6
+ RSpec.configure do |c|
7
+ c.mock_with :rspec
8
+
9
+ c.before(:each) do
10
+ @rs = RightSignature::Connection.new({:consumer_key => "Consumer123", :consumer_secret => "Secret098", :access_token => "AccessToken098", :access_secret => "AccessSecret123", :api_token => "APITOKEN"})
11
+ end
12
+ end
@@ -0,0 +1,408 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ describe RightSignature::Template do
4
+ describe "templates_list" do
5
+ it "should GET /api/templates.xml" do
6
+ @rs.should_receive(:get).with('/api/templates.xml', {})
7
+ @rs.templates_list
8
+ end
9
+
10
+ it "should pass search options to /api/templates.xml" do
11
+ @rs.should_receive(:get).with('/api/templates.xml', {:search => "search", :page => 2})
12
+ @rs.templates_list(:search => "search", :page => 2)
13
+ end
14
+
15
+ it "should convert tags array of mixed strings and hashes into into normalized Tag string" do
16
+ @rs.should_receive(:get).with('/api/templates.xml', {:tags => "hello,abc:def,there"})
17
+ @rs.templates_list(:tags => ["hello", {"abc" => "def"}, "there"])
18
+ end
19
+
20
+ it "should keep tags as string if :tags is a string" do
21
+ @rs.should_receive(:get).with('/api/templates.xml', {:tags => "voice,no:way,microphone"})
22
+ @rs.templates_list(:tags => "voice,no:way,microphone")
23
+ end
24
+ end
25
+
26
+ describe "template_details" do
27
+ it "should GET /api/templates/MYGUID.xml" do
28
+ @rs.should_receive(:get).with('/api/templates/MYGUID.xml', {})
29
+ @rs.template_details('MYGUID')
30
+ end
31
+ end
32
+
33
+ describe "prepackage" do
34
+ it "should POST /api/templates/MYGUID/prepackage.xml" do
35
+ @rs.should_receive(:post).with('/api/templates/MYGUID/prepackage.xml', {})
36
+ @rs.prepackage('MYGUID')
37
+ end
38
+ end
39
+
40
+
41
+ describe "prepackage_and_send" do
42
+ it "should POST /api/templates/GUID123/prepackage.xml and POST /api/templates.xml using guid, and subject from prepackage response" do
43
+ @rs.should_receive(:post).with('/api/templates/GUID123/prepackage.xml',
44
+ {}
45
+ ).and_return({"template" => {
46
+ "guid" => "a_123985_1z9v8pd654",
47
+ "subject" => "subject template",
48
+ "message" => "Default message here"
49
+ }})
50
+ @rs.should_receive(:post).with('/api/templates.xml', {:template => {
51
+ :guid => "a_123985_1z9v8pd654",
52
+ :action => "send",
53
+ :subject => "sign me",
54
+ :roles => []
55
+ }})
56
+ @rs.prepackage_and_send("GUID123", [], {:subject => "sign me"})
57
+ end
58
+
59
+ it "should default subject to one in Template prepackage response" do
60
+ @rs.should_receive(:post).with('/api/templates/GUID123/prepackage.xml',
61
+ {}
62
+ ).and_return({"template" => {
63
+ "guid" => "a_123985_1z9v8pd654",
64
+ "subject" => "subject template",
65
+ "message" => "Default message here"
66
+ }})
67
+ @rs.should_receive(:post).with('/api/templates.xml', {:template => {
68
+ :guid => "a_123985_1z9v8pd654",
69
+ :action => "send",
70
+ :subject => "subject template",
71
+ :roles => []
72
+ }})
73
+ @rs.prepackage_and_send("GUID123", [])
74
+ end
75
+ end
76
+
77
+ describe "prefill/send_template" do
78
+ it "should POST /api/templates.xml with action of 'prefill', MYGUID guid, roles, and \"sign me\" subject in template hash" do
79
+ @rs.should_receive(:post).with('/api/templates.xml', {:template => {:guid => "MYGUID", :action => "prefill", :subject => "sign me", :roles => []}})
80
+ @rs.prefill("MYGUID", "sign me", [])
81
+ end
82
+
83
+ it "should add \"@role_name\"=>'Employee' key to roles in xml hash" do
84
+ @rs.should_receive(:post).with('/api/templates.xml', {
85
+ :template => {
86
+ :guid => "MYGUID",
87
+ :action => "prefill",
88
+ :subject => "sign me",
89
+ :roles => [
90
+ {:role => {
91
+ :name => "John Employee",
92
+ :email => "john@employee.com",
93
+ "@role_name" => "Employee"
94
+ }}
95
+ ]
96
+ }
97
+ })
98
+ @rs.prefill("MYGUID", "sign me", [{"Employee" => {:name => "John Employee", :email => "john@employee.com"}}])
99
+ end
100
+
101
+ it "should add \"@role_id\"=>'signer_A' key to roles in xml hash" do
102
+ @rs.should_receive(:post).with('/api/templates.xml', {
103
+ :template => {
104
+ :guid => "MYGUID",
105
+ :action => "prefill",
106
+ :subject => "sign me",
107
+ :roles => [
108
+ {:role => {
109
+ :name => "John Employee",
110
+ :email => "john@employee.com",
111
+ "@role_id" => "signer_A"
112
+ }}
113
+ ]
114
+ }
115
+ })
116
+ @rs.prefill("MYGUID", "sign me", [{"signer_A" => {:name => "John Employee", :email => "john@employee.com"}}])
117
+ end
118
+
119
+ describe "optional options" do
120
+ it "should add \"@merge_field_name\"=>'Tax_id' key to merge_fields in xml hash" do
121
+ @rs.should_receive(:post).with('/api/templates.xml', {
122
+ :template => {
123
+ :guid => "MYGUID",
124
+ :action => "prefill",
125
+ :subject => "sign me",
126
+ :roles => [
127
+ ],
128
+ :merge_fields => [{:merge_field => {:value => "123456", "@merge_field_name" => "Tax_id"}}]
129
+ }
130
+ })
131
+ @rs.prefill("MYGUID", "sign me", [], {:merge_fields => [{"Tax_id" => "123456"}]})
132
+ end
133
+
134
+ it "should add \"@merge_field_id\"=>'123_abc_78' key to merge_fields in xml hash" do
135
+ @rs.should_receive(:post).with('/api/templates.xml', {
136
+ :template => {
137
+ :guid => "MYGUID",
138
+ :action => "prefill",
139
+ :subject => "sign me",
140
+ :roles => [
141
+ ],
142
+ :merge_fields => [{:merge_field => {:value => "123456", "@merge_field_id" => "123_abc_78"}}]
143
+ }
144
+ })
145
+ @rs.prefill("MYGUID", "sign me", [], {:merge_fields => [{"123_abc_78" => "123456"}], :use_merge_field_ids => true})
146
+ end
147
+
148
+ it "should add \"tag\" key to tags in xml hash" do
149
+ @rs.should_receive(:post).with('/api/templates.xml', {
150
+ :template => {
151
+ :guid => "MYGUID",
152
+ :action => "prefill",
153
+ :subject => "sign me",
154
+ :roles => [],
155
+ :tags => [{:tag => {:name => "I_Key", :value => "I_Value"}}, {:tag => {:name => "Alone"}}]
156
+ }
157
+ })
158
+ @rs.prefill("MYGUID", "sign me", [], {:tags => [{"I_Key" => "I_Value"}, "Alone"]})
159
+ end
160
+
161
+ it "should include options :expires_in, :description, :redirect_location, :document_data, and :callback_location" do
162
+ @rs.should_receive(:post).with('/api/templates.xml', {
163
+ :template => {
164
+ :guid => "MYGUID",
165
+ :action => "prefill",
166
+ :subject => "sign me",
167
+ :roles => [],
168
+ :expires_in => 15,
169
+ :description => "Hey, I'm a description",
170
+ :redirect_location => 'http://example.com/redirectme',
171
+ :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"},
172
+ :callback_location => 'http://example.com/callie'
173
+ }
174
+ })
175
+ @rs.prefill("MYGUID", "sign me", [], {:expires_in => 15, :description => "Hey, I'm a description", :redirect_location => 'http://example.com/redirectme', :callback_location => "http://example.com/callie", :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"}})
176
+ end
177
+
178
+ it "should include extra options" do
179
+ @rs.should_receive(:post).with('/api/templates.xml', {
180
+ :template => {
181
+ :guid => "MYGUID",
182
+ :action => "prefill",
183
+ :subject => "sign me",
184
+ :roles => [
185
+ {:role => {
186
+ :name => "John Employee",
187
+ :email => "john@employee.com",
188
+ "@role_id" => "signer_A"
189
+ }}],
190
+ :expires_in => 15,
191
+ :description => "Hey, I'm a description",
192
+ :redirect_location => 'http://example.com/redirectme',
193
+ :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"},
194
+ :callback_location => 'http://example.com/callie',
195
+ :something_else => "else",
196
+ :merge_fields => [{:merge_field => {:value => "123456", "@merge_field_id" => "123_abc_78"}}]
197
+ }
198
+ })
199
+ @rs.prefill("MYGUID", "sign me", [{"signer_A" => {:name => "John Employee", :email => "john@employee.com"}}], {:expires_in => 15, :description => "Hey, I'm a description", :redirect_location => 'http://example.com/redirectme', :callback_location => "http://example.com/callie", :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"}, :merge_fields => [{"123_abc_78" => "123456"}], :use_merge_field_ids => true, :something_else => "else"})
200
+ end
201
+ end
202
+
203
+ it "should POST /api/templates.xml with action of 'send', MYGUID guid, roles, and \"sign me\" subject in template hash" do
204
+ @rs.should_receive(:post).with('/api/templates.xml', {:template => {:guid => "MYGUID", :action => "send", :subject => "sign me", :roles => []}})
205
+ @rs.send_template("MYGUID", "sign me", [])
206
+ end
207
+ end
208
+
209
+ describe "generate_build_url" do
210
+ it "should POST /api/templates/generate_build_token.xml" do
211
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template => {}}).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
212
+ @rs.generate_build_url
213
+ end
214
+
215
+ it "should return https://rightsignature.com/builder/new?rt=REDIRECT_TOKEN" do
216
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template => {}}).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
217
+ @rs.generate_build_url.should == "#{@rs.site}/builder/new?rt=REDIRECT_TOKEN"
218
+ end
219
+
220
+ describe "options" do
221
+ it "should include normalized :acceptable_merge_field_names in params" do
222
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template =>
223
+ {:acceptable_merge_field_names =>
224
+ [
225
+ {:name => "Site ID"},
226
+ {:name => "Starting City"}
227
+ ]}
228
+ }).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
229
+ @rs.generate_build_url(:acceptable_merge_field_names => ["Site ID", "Starting City"])
230
+ end
231
+
232
+ it "should include normalized :acceptable_role_names, in params" do
233
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template =>
234
+ {:acceptable_role_names =>
235
+ [
236
+ {:name => "Http Monster"},
237
+ {:name => "Party Monster"}
238
+ ]}
239
+ }).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
240
+ @rs.generate_build_url(:acceptable_role_names => ["Http Monster", "Party Monster"])
241
+ end
242
+
243
+ it "should include normalized :tags in params" do
244
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template =>
245
+ {:tags =>
246
+ [
247
+ {:tag => {:name => "Site"}},
248
+ {:tag => {:name => "Starting City", :value => "NY"}}
249
+ ]}
250
+ }).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
251
+ @rs.generate_build_url(:tags => ["Site", "Starting City" => "NY"])
252
+ end
253
+
254
+ it "should include :callback_location and :redirect_location in params" do
255
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template => {
256
+ :callback_location => "http://example.com/done_signing",
257
+ :redirect_location => "http://example.com/come_back_here"
258
+ }}).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
259
+
260
+ @rs.generate_build_url(:callback_location => "http://example.com/done_signing", :redirect_location => "http://example.com/come_back_here")
261
+ end
262
+
263
+ it "should include other extra options in params" do
264
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template => {
265
+ :tags =>
266
+ [
267
+ {:tag => {:name => "Site"}}
268
+ ],
269
+ :acceptable_merge_field_names =>
270
+ [
271
+ {:name => "Site ID"},
272
+ {:name => "Starting City"}
273
+ ],
274
+ :acceptable_role_names =>
275
+ [
276
+ {:name => "Http Party"}
277
+ ],
278
+ :callback_location => "http://example.com/done_signing",
279
+ :redirect_location => "http://example.com/come_back_here",
280
+ :extras => "stuff here"
281
+ }}).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
282
+
283
+ @rs.generate_build_url(:tags => ["Site"], :acceptable_merge_field_names => ["Site ID", "Starting City"], :acceptable_role_names => ["Http Party"], :callback_location => "http://example.com/done_signing", :redirect_location => "http://example.com/come_back_here", :extras => "stuff here")
284
+ end
285
+ end
286
+ end
287
+
288
+ describe "send_as_self_signers" do
289
+ before do
290
+ @prepackage_response = {"template"=>{
291
+ "type"=>"Document",
292
+ "guid"=>"a_123_456",
293
+ "created_at"=>"2012-09-25T14:51:44-07:00",
294
+ "filename"=>"assets-363-demo_document.pdf",
295
+ "size"=>"14597",
296
+ "content_type"=>"pdf",
297
+ "page_count"=>"1",
298
+ "subject"=>"subject template",
299
+ "message"=>"Default message here",
300
+ "tags"=>"template_id:31,user:1",
301
+ "processing_state"=>"done-processing",
302
+ "roles"=>
303
+ {"role"=>
304
+ [{"role"=>"Document Sender",
305
+ "name"=>"Document Sender",
306
+ "must_sign"=>"false",
307
+ "document_role_id"=>"cc_A",
308
+ "is_sender"=>"true"},
309
+ {"role"=>"Leasee",
310
+ "name"=>"Leasee",
311
+ "must_sign"=>"true",
312
+ "document_role_id"=>"signer_A",
313
+ "is_sender"=>"false"},
314
+ {"role"=>"Leaser",
315
+ "name"=>"Leaser",
316
+ "must_sign"=>"true",
317
+ "document_role_id"=>"signer_B",
318
+ "is_sender"=>"true"}]},
319
+ "merge_fields"=>nil,
320
+ "pages"=>
321
+ {"page"=>
322
+ {"page_number"=>"1",
323
+ "original_template_guid"=>"GUID123",
324
+ "original_template_filename"=>"demo_document.pdf"}
325
+ },
326
+ "thumbnail_url"=>
327
+ "https%3A%2F%2Fs3.amazonaws.com%3A443%2Frightsignature.com%2Fassets%2F1464%2Fabcde_p1_t.png%3FSignature%3D1234AC",
328
+ "redirect_token"=>
329
+ "123456bcde"
330
+ }}
331
+
332
+ @sent_document_response = {"document"=> {
333
+ "status"=>"sent",
334
+ "guid"=>"ABCDEFGH123"
335
+ }}
336
+
337
+ end
338
+
339
+ it "should prepackage template, send template with reciepents with noemail@rightsignature.com and return self-signer links" do
340
+ @rs.should_receive(:post).with('/api/templates/TGUID/prepackage.xml',
341
+ {}
342
+ ).and_return(@prepackage_response)
343
+ @rs.should_receive(:post).with('/api/templates.xml', {:template => {
344
+ :guid => "a_123_456",
345
+ :action => "send",
346
+ :subject => "subject template",
347
+ :roles => [
348
+ {:role => {:name => "John Bellingham", :email => "noemail@rightsignature.com", "@role_name" => "Leasee"}},
349
+ {:role => {:name => "Tim Else", :email => "noemail@rightsignature.com", "@role_name" => "Leaser"}}
350
+ ]
351
+ }}).and_return(@sent_document_response)
352
+ @rs.should_receive(:get).with("/api/documents/ABCDEFGH123/signer_links.xml", {}).and_return({"document" => {
353
+ "signer_links" => {"signer_link" => [
354
+ {"name" => "John Bellingham", "role" => "signer_A", "signer_token" => "slkfj2"},
355
+ {"name" => "Tim Else", "role" => "signer_B", "signer_token" => "asfd1"}
356
+ ]}
357
+ }})
358
+
359
+
360
+ results = @rs.send_as_embedded_signers("TGUID", [
361
+ {"Leasee" => {:name => "John Bellingham"}},
362
+ {"Leaser" => {:name => "Tim Else"}}
363
+ ])
364
+ results.size.should == 2
365
+ results.include?({"name" => "John Bellingham", "url" => "#{@rs.site}/signatures/embedded?rt=slkfj2"})
366
+ results.include?({"name" => "Tim Else", "url" => "#{@rs.site}/signatures/embedded?rt=asfd1"})
367
+ end
368
+
369
+ it "should not overwrite email if one is already set for receipient" do
370
+ @rs.should_receive(:post).with('/api/templates/TGUID/prepackage.xml',
371
+ {}
372
+ ).and_return(@prepackage_response)
373
+ @rs.should_receive(:post).with('/api/templates.xml', {:template => {
374
+ :guid => "a_123_456",
375
+ :action => "send",
376
+ :subject => "subject template",
377
+ :roles => [
378
+ {:role => {:name => "John Bellingham", :email => "dontchange@example.com", "@role_name" => "Leasee"}},
379
+ {:role => {:name => "Tim Else", :email => "noemail@rightsignature.com", "@role_name" => "Leaser"}}
380
+ ]
381
+ }}).and_return(@sent_document_response)
382
+ @rs.should_receive(:get).with("/api/documents/ABCDEFGH123/signer_links.xml", {}).and_return({"document" => {
383
+ "signer_links" => {"signer_link" => [
384
+ {"name" => "John Bellingham", "email" => "dontchange@example.com", "role" => "signer_A", "signer_token" => "slkfj2"},
385
+ {"name" => "Tim Else", "role" => "signer_B", "signer_token" => "asfd1"}
386
+ ]}
387
+ }})
388
+
389
+ results = @rs.send_as_embedded_signers("TGUID", [
390
+ {"Leasee" => {:name => "John Bellingham", :email => "dontchange@example.com"}},
391
+ {"Leaser" => {:name => "Tim Else"}}
392
+ ])
393
+ results.size.should == 2
394
+ results.include?({"name" => "John Bellingham", "url" => "#{@rs.site}/signatures/embedded?rt=slkfj2"})
395
+ results.include?({"name" => "Tim Else", "url" => "#{@rs.site}/signatures/embedded?rt=asfd1"})
396
+ end
397
+
398
+ it "should pass in options"
399
+ end
400
+
401
+ describe "trash" do
402
+ it "should DELETE /api/templates/MYGUID.xml" do
403
+ expect(@rs).to receive(:delete).with('/api/templates/MYGUID.xml')
404
+ @rs.trash_template('MYGUID')
405
+ end
406
+ end
407
+
408
+ end
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rightsignature-railstyle
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.9
5
+ platform: ruby
6
+ authors:
7
+ - Nick Barone
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-03-21 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.0.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.11.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 2.11.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: oauth
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.4.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.9.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.9.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: xml-fu
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.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: 0.2.0
83
+ description: Provides a wrapper for the RightSignature API.
84
+ email:
85
+ - ''
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - CONTRIBUTING.md
92
+ - Gemfile
93
+ - README.md
94
+ - Rakefile
95
+ - lib/rightsignature.rb
96
+ - lib/rightsignature/account.rb
97
+ - lib/rightsignature/connection.rb
98
+ - lib/rightsignature/connection/oauth_connection.rb
99
+ - lib/rightsignature/connection/token_connection.rb
100
+ - lib/rightsignature/document.rb
101
+ - lib/rightsignature/errors.rb
102
+ - lib/rightsignature/helpers/normalizing.rb
103
+ - lib/rightsignature/helpers/refine_hash_to_indifferent_access.rb
104
+ - lib/rightsignature/rails_style.rb
105
+ - lib/rightsignature/template.rb
106
+ - lib/rightsignature/version.rb
107
+ - rightsignature-api.gemspec
108
+ - spec/account_spec.rb
109
+ - spec/api_token_connection_spec.rb
110
+ - spec/configuration_spec.rb
111
+ - spec/connection_spec.rb
112
+ - spec/document_spec.rb
113
+ - spec/errors_spec.rb
114
+ - spec/normalizing_spec.rb
115
+ - spec/oauth_connnection_spec.rb
116
+ - spec/rails_style_spec.rb
117
+ - spec/spec_helper.rb
118
+ - spec/template_spec.rb
119
+ homepage: http://github.com/narfanator/rightsignature-api
120
+ licenses:
121
+ - MIT
122
+ metadata: {}
123
+ post_install_message:
124
+ rdoc_options: []
125
+ require_paths:
126
+ - lib
127
+ required_ruby_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ requirements: []
138
+ rubyforge_project:
139
+ rubygems_version: 2.6.8
140
+ signing_key:
141
+ specification_version: 4
142
+ summary: API wrapper for RightSignature
143
+ test_files: []