mifiel 1.1.1 → 1.1.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 257016e4e77054c3292a7e7528b1ec9b40767e8d
4
- data.tar.gz: 0b9faa1c6348cc9c3dcf13d923c4db0d06def6cc
3
+ metadata.gz: 6b81aa9ae009760bdbf21c71d2af638956d898e7
4
+ data.tar.gz: 7b62d15b2abe554804ba41b5eaf9d13fe2a06199
5
5
  SHA512:
6
- metadata.gz: f51d10e9289b7ef5fdfde4102765a8035dc930ee8f3e53abd14bbde8b6da712873155ba83e1d10253bae355291b515e34a38909595970f25aaa0a0a4b6953ccc
7
- data.tar.gz: 2bde1b42e48e6984d020499831998574c62f68da6c4ca6edfbf4122f9ff371ee3a562e494f4dbba05f5e35a70ed153f4e43a23f8d117af89e9fbf2363083cd39
6
+ metadata.gz: 4aa349459b1752a1e682cd4dc8c959dede12e95b519cda0497b1d6c4cc381b1000c9eb7bf147e983ab6d6166c97ddcfa3638d261ab998352526042d5bcc0bb95
7
+ data.tar.gz: 484c3f9becf2180f30e3bc11c105ba79e72c764c2ac07632897c6333b52b731c598bd5e566914bfd0ba18e513609322fce3c1d1f6bf45c221f9f99fd508ecefd
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Gem Version][gem-version-image]][gem-version-url]
4
4
  [![Build Status][travis-image]][travis-url]
5
+ [![Coverage Status][coveralls-image]][coveralls-url]
5
6
  [![security][security-image]][security-url]
6
7
 
7
8
  Ruby SDK for [Mifiel](https://www.mifiel.com) API.
@@ -78,6 +79,17 @@ Document methods:
78
79
  )
79
80
  ```
80
81
 
82
+ - Save Document related files
83
+
84
+ ```ruby
85
+ # save the original file
86
+ document.save_file('path/to/save/file.pdf')
87
+ # save the signed file (original file + signatures page)
88
+ document.save_file_signed('path/to/save/file-signed.pdf')
89
+ # save the signed xml file
90
+ document.save_xml('path/to/save/xml.xml')
91
+ ```
92
+
81
93
  - Sign:
82
94
  + With a pre-created Certificate
83
95
 
@@ -146,7 +158,12 @@ Certificate methods:
146
158
 
147
159
  [gem-version-image]: https://badge.fury.io/rb/mifiel.svg
148
160
  [gem-version-url]: https://badge.fury.io/rb/mifiel
161
+
149
162
  [security-url]: https://hakiri.io/github/Mifiel/ruby-api-client/master
150
163
  [security-image]: https://hakiri.io/github/Mifiel/ruby-api-client/master.svg
164
+
151
165
  [travis-image]: https://travis-ci.org/Mifiel/ruby-api-client.svg?branch=master
152
166
  [travis-url]: https://travis-ci.org/Mifiel/ruby-api-client
167
+
168
+ [coveralls-image]: https://coveralls.io/repos/github/Mifiel/ruby-api-client/badge.svg?branch=master
169
+ [coveralls-url]: https://coveralls.io/github/Mifiel/ruby-api-client?branch=master
@@ -17,7 +17,8 @@ module Mifiel
17
17
  original_hash: hash,
18
18
  name: name
19
19
  }
20
- process_request('/documents', :post, payload)
20
+ response = process_request('/documents', :post, payload)
21
+ JSON.load(response)
21
22
  end
22
23
 
23
24
  def request_signature(email, cc: nil)
@@ -26,7 +27,22 @@ module Mifiel
26
27
  Mifiel::Document._request("#{Mifiel.config.base_url}/documents/#{id}/request_signature", :post, params)
27
28
  end
28
29
 
29
- def self.process_request(path, method, payload)
30
+ def save_file(path)
31
+ response = Mifiel::Document.process_request("/documents/#{id}/file", :get)
32
+ File.open(path, 'wb') { |file| file.write(response) }
33
+ end
34
+
35
+ def save_file_signed(path)
36
+ response = Mifiel::Document.process_request("/documents/#{id}/file_signed", :get)
37
+ File.open(path, 'wb') { |file| file.write(response) }
38
+ end
39
+
40
+ def save_xml(path)
41
+ response = Mifiel::Document.process_request("/documents/#{id}/xml", :get)
42
+ File.open(path, 'w') { |file| file.write(response) }
43
+ end
44
+
45
+ def self.process_request(path, method, payload=nil)
30
46
  path[0] = '' if path[0] == '/'
31
47
  rest_request = RestClient::Request.new(
32
48
  url: "#{Mifiel.config.base_url}/#{path}",
@@ -35,7 +51,7 @@ module Mifiel
35
51
  ssl_version: 'SSLv23'
36
52
  )
37
53
  req = ApiAuth.sign!(rest_request, Mifiel.config.app_id, Mifiel.config.app_secret)
38
- JSON.load(req.execute)
54
+ req.execute
39
55
  end
40
56
 
41
57
  def self.build_signatories(signatories)
@@ -1,3 +1,3 @@
1
1
  module Mifiel
2
- VERSION = '1.1.1'.freeze
2
+ VERSION = '1.1.2'.freeze
3
3
  end
@@ -19,39 +19,72 @@ describe Mifiel::Document do
19
19
  end
20
20
  end
21
21
 
22
- describe '#request_signature' do
22
+ describe 'working with a document' do
23
23
  let!(:document) { Mifiel::Document.all.first }
24
- let!(:error_body) { { errors: ['some error'] }.to_json }
25
24
 
26
- it '' do
27
- expect do
28
- document.request_signature('some@email.com')
29
- end.not_to raise_error
30
- end
25
+ describe '#save_file' do
26
+ let!(:path) {'tmp/the-file.pdf' }
27
+ before { File.unlink(path) if File.exist?(path)}
31
28
 
32
- context 'when bad request' do
33
- before do
34
- url = %r{mifiel.com\/api\/v1\/documents\/#{document.id}\/request_signature}
35
- stub_request(:post, url).to_return(body: error_body, status: 404)
29
+ it 'should get the file' do
30
+ document.save_file(path)
31
+ expect(File.exist?(path)).to be true
36
32
  end
33
+ end
37
34
 
38
- it '' do
39
- expect do
40
- document.request_signature('some@email.com')
41
- end.to raise_error(Mifiel::BadRequestError)
35
+ describe '#save_file_signed' do
36
+ let!(:path) {'tmp/the-file-signed.pdf' }
37
+ before { File.unlink(path) if File.exist?(path)}
38
+
39
+ it 'should get the file' do
40
+ document.save_file_signed(path)
41
+ expect(File.exist?(path)).to be true
42
42
  end
43
43
  end
44
44
 
45
- context 'when server error' do
46
- before do
47
- url = %r{mifiel.com\/api\/v1\/documents\/#{document.id}\/request_signature}
48
- stub_request(:post, url).to_return(body: error_body, status: 500)
45
+ describe '#save_xml' do
46
+ let!(:path) {'tmp/the-xml.xml' }
47
+ before { File.unlink(path) if File.exist?(path)}
48
+
49
+ it 'should get the file' do
50
+ document.save_xml(path)
51
+ expect(File.exist?(path)).to be true
49
52
  end
53
+ end
54
+
55
+ describe '#request_signature' do
56
+ let!(:error_body) { { errors: ['some error'] }.to_json }
50
57
 
51
58
  it '' do
52
59
  expect do
53
60
  document.request_signature('some@email.com')
54
- end.to raise_error(Mifiel::ServerError)
61
+ end.not_to raise_error
62
+ end
63
+
64
+ context 'when bad request' do
65
+ before do
66
+ url = %r{mifiel.com\/api\/v1\/documents\/#{document.id}\/request_signature}
67
+ stub_request(:post, url).to_return(body: error_body, status: 404)
68
+ end
69
+
70
+ it '' do
71
+ expect do
72
+ document.request_signature('some@email.com')
73
+ end.to raise_error(Mifiel::BadRequestError)
74
+ end
75
+ end
76
+
77
+ context 'when server error' do
78
+ before do
79
+ url = %r{mifiel.com\/api\/v1\/documents\/#{document.id}\/request_signature}
80
+ stub_request(:post, url).to_return(body: error_body, status: 500)
81
+ end
82
+
83
+ it '' do
84
+ expect do
85
+ document.request_signature('some@email.com')
86
+ end.to raise_error(Mifiel::ServerError)
87
+ end
55
88
  end
56
89
  end
57
90
  end
@@ -45,6 +45,21 @@ class FakeMifiel < Sinatra::Base
45
45
  ).to_json
46
46
  end
47
47
 
48
+ get '/api/v1/documents/:id/file' do
49
+ status 200
50
+ 'some-pdf-formatted-string'
51
+ end
52
+
53
+ get '/api/v1/documents/:id/file_signed' do
54
+ status 200
55
+ 'some-pdf-formatted-string'
56
+ end
57
+
58
+ get '/api/v1/documents/:id/xml' do
59
+ status 200
60
+ '<some><xml>contents</xml></some>'
61
+ end
62
+
48
63
  post '/api/v1/documents/:id/request_signature' do
49
64
  content_type :json
50
65
  status 200
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mifiel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genaro Madrid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-05 00:00:00.000000000 Z
11
+ date: 2016-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client