clicksign 0.0.2 → 0.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 +4 -4
- data/README.md +130 -3
- data/lib/clicksign/document.rb +5 -2
- data/lib/clicksign/version.rb +1 -1
- data/spec/clicksign_spec.rb +25 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92022f1569b2ad33a843cd4a225ca978e9bef14e
|
4
|
+
data.tar.gz: 2267d095b9e83ad083d58cbdf2681bff1a220fd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2e0a45714e53c245cadcd9fbe4f29820ce309202db50760a8e34e5fdcc2834430036f4c26a43d42a8774ee72416fd8429ce39b5e8f5ff21d10e7d9ac08f704b
|
7
|
+
data.tar.gz: 1a38c26a2e400a8809a595623cf8f7d197a0be5dd270e9f0b7dfa07946caa1898aa00ef5e54fb5ce36f74c607a2a086c10edaf8a6bba419471f99a7fb31b1e80
|
data/README.md
CHANGED
@@ -1,4 +1,131 @@
|
|
1
|
-
|
2
|
-
==============
|
1
|
+
# Clicksign Ruby Client
|
3
2
|
|
4
|
-
Clicksign
|
3
|
+
Official gem to comunicate with the **[Clicksign REST API](http://clicksign.github.io/rest-api/)**.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
With Bundler:
|
8
|
+
|
9
|
+
```
|
10
|
+
gem 'clicksign'
|
11
|
+
```
|
12
|
+
|
13
|
+
Manual installation via RubyGems:
|
14
|
+
|
15
|
+
```shell
|
16
|
+
gem install clicksign
|
17
|
+
```
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
### Setting up the client
|
22
|
+
|
23
|
+
You must provide a valid `token` in order to use the library. As an option, you can also set a different `endpoint`.
|
24
|
+
|
25
|
+
The required `token` is provided by the Clicksign support team.
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
require 'clicksign'
|
29
|
+
|
30
|
+
Clicksign.configure do |config|
|
31
|
+
config.token = ENV['CLICKSIGN_TOKEN']
|
32
|
+
config.endpoint = 'https://api.clicksign-demo.com' # Default: 'api.clicksign.com'
|
33
|
+
end
|
34
|
+
```
|
35
|
+
|
36
|
+
### Retrieving a list of documents
|
37
|
+
|
38
|
+
You'll be able to make requests to the Clicksign API right after the initial setup. The first step would be to retrieve a list of documents that you've previously uploaded to your account.
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
documents = Clicksign::Document.all
|
42
|
+
```
|
43
|
+
|
44
|
+
### Uploading a document
|
45
|
+
|
46
|
+
To upload a new document to Clicksign you can use the following snippet:
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
document = Clicksign::Document.create(File.new('example.pdf'))
|
50
|
+
```
|
51
|
+
|
52
|
+
You can also upload a new document and at the same time set up a signature list
|
53
|
+
as follow:
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
document = Clicksign::Document.create(File.new('example.pdf'), signers: [{ act: 'sign', email: 'john.doe@example.com' }], message: 'Please sign it', skip_email: true)
|
57
|
+
```
|
58
|
+
|
59
|
+
It is important to notice that the additional parameters to `create` method is
|
60
|
+
the same as the ones in the section [Creating a signature list](#user-content-creating-a-signature-list)
|
61
|
+
|
62
|
+
|
63
|
+
### Retrieving a document
|
64
|
+
|
65
|
+
```ruby
|
66
|
+
found = Clicksign::Document.find(document_key)
|
67
|
+
```
|
68
|
+
|
69
|
+
### Creating a signature list
|
70
|
+
|
71
|
+
The method `Clicksign::Document.create_list` accepts **3 arguments**, the latter being optional.
|
72
|
+
|
73
|
+
The first argument is `document_key`, which represents the document's unique identification.
|
74
|
+
|
75
|
+
The second argument is `signers`, an array of hashes with the e-mails of the signers and their actions (`act`). The available options for `act` are described in our [documentation](http://clicksign.github.io/rest-api/#criacao-de-lista-de-assinatura).
|
76
|
+
|
77
|
+
The third and optional parameter is `skip_email`, a boolean that says whether the API should send e-mails to the signers or not.
|
78
|
+
|
79
|
+
Example:
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
document_key = KEY
|
83
|
+
signers = [{ email: 'john.doe@example.com', act: 'sign' }]
|
84
|
+
result = Clicksign::Document.create_list(document, signers, true)
|
85
|
+
```
|
86
|
+
|
87
|
+
### Hooks
|
88
|
+
|
89
|
+
You can perform three different actions with hooks: **retrieve** all, **create** a new one or **delete** an existing hook.
|
90
|
+
|
91
|
+
Listing all hooks that belong to a document:
|
92
|
+
|
93
|
+
```ruby
|
94
|
+
Clicksign::Hook.all(document_key)
|
95
|
+
```
|
96
|
+
|
97
|
+
Creating a new hook for a specific document:
|
98
|
+
|
99
|
+
```ruby
|
100
|
+
Clicksign::Hook.create(document_key, 'http://example.com')
|
101
|
+
```
|
102
|
+
|
103
|
+
Destroying an existing hook:
|
104
|
+
|
105
|
+
```ruby
|
106
|
+
Clicksign::Hook.delete(document_key, hook_id)
|
107
|
+
```
|
108
|
+
|
109
|
+
### Batches
|
110
|
+
|
111
|
+
Batches are you used to group documents in a package and perform batch signatures via the [Clicksign Widget](https://github.com/clicksign/widget).
|
112
|
+
|
113
|
+
You can perform three different actions with batches: **retrieve** all, **create** a new one or **delete** an existing batch.
|
114
|
+
|
115
|
+
Listing all batches:
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
Clicksign::Batch.all
|
119
|
+
```
|
120
|
+
|
121
|
+
Creating a new batch for a group of documents:
|
122
|
+
|
123
|
+
```ruby
|
124
|
+
Clicksign::Batch.create([key1, key2, key3])
|
125
|
+
```
|
126
|
+
|
127
|
+
Destroying an existing batch:
|
128
|
+
|
129
|
+
```ruby
|
130
|
+
Clicksign::Batch.delete(batch_key)
|
131
|
+
```
|
data/lib/clicksign/document.rb
CHANGED
@@ -12,10 +12,13 @@ module Clicksign
|
|
12
12
|
{}
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.create(file)
|
15
|
+
def self.create(file, params = {})
|
16
|
+
signers = params.delete(:signers)
|
17
|
+
params['signers[]'] = [signers].flatten(1) if signers
|
18
|
+
|
16
19
|
request :post,
|
17
20
|
api_url('documents'),
|
18
|
-
{ "document[archive][original]" => file },
|
21
|
+
{ "document[archive][original]" => file }.merge(params),
|
19
22
|
{}
|
20
23
|
end
|
21
24
|
|
data/lib/clicksign/version.rb
CHANGED
data/spec/clicksign_spec.rb
CHANGED
@@ -28,4 +28,29 @@ describe Clicksign::Document do
|
|
28
28
|
expect(record['document']['status']).to eq 'completed'
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
describe '.create' do
|
33
|
+
it 'sends document and list params' do
|
34
|
+
file = File.new('spec/fixtures/all_documents.json')
|
35
|
+
signers = { act: 'sign', email: 'john.doe@example.com' }
|
36
|
+
message = 'Sign it please.'
|
37
|
+
skip_email = false
|
38
|
+
|
39
|
+
expect(RestClient).to receive(:post)
|
40
|
+
.with(
|
41
|
+
"http://example.com/v1/documents?access_token=my_token",
|
42
|
+
{
|
43
|
+
'document[archive][original]' => file,
|
44
|
+
message: message,
|
45
|
+
skip_email: skip_email,
|
46
|
+
'signers[]' => [signers],
|
47
|
+
}, { accept: 'json' }).and_return({})
|
48
|
+
|
49
|
+
Clicksign::Document.create(file, {
|
50
|
+
signers: signers,
|
51
|
+
message: message,
|
52
|
+
skip_email: skip_email
|
53
|
+
})
|
54
|
+
end
|
55
|
+
end
|
31
56
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clicksign
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clicksign
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -121,3 +121,4 @@ test_files:
|
|
121
121
|
- spec/fixtures/all_documents.json
|
122
122
|
- spec/fixtures/document.xml
|
123
123
|
- spec/spec_helper.rb
|
124
|
+
has_rdoc:
|