eversign-sdk 0.2.1
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 +7 -0
- data/lib/eversign.rb +33 -0
- data/lib/eversign/client.rb +207 -0
- data/lib/eversign/mappings/business.rb +16 -0
- data/lib/eversign/mappings/document.rb +105 -0
- data/lib/eversign/mappings/exception.rb +27 -0
- data/lib/eversign/mappings/file.rb +16 -0
- data/lib/eversign/models/business.rb +7 -0
- data/lib/eversign/models/document.rb +34 -0
- data/lib/eversign/models/error.rb +7 -0
- data/lib/eversign/models/exception.rb +7 -0
- data/lib/eversign/models/field.rb +8 -0
- data/lib/eversign/models/file.rb +30 -0
- data/lib/eversign/models/recipient.rb +13 -0
- data/lib/eversign/models/signer.rb +13 -0
- data/lib/eversign/models/template.rb +6 -0
- data/lib/eversign/version.rb +3 -0
- metadata +199 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5af06750d603bb41b4eed125818e0579adafb0c5f8ee697b53fc149a85d17d5b
|
4
|
+
data.tar.gz: ee662d44b412958dcf513570699180d8437f84791f80c426ee90ee1693e8526a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6b247028ac81c4accfe0a86c988345b693904f1c1dad8d45532570cdefc1fa2f57027b44acbd887ed57836295cce3eb6cb638ad7a79d9937743c8a50f1f9d95c
|
7
|
+
data.tar.gz: 30640dcaf8365d8986a5f95dd7f8afe12f974cff268025533b243ba44c0e603ee87110b426248a69ac0dac6a08530df112bb516b28ab6f1824a11355312a8439
|
data/lib/eversign.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'eversign/version'
|
2
|
+
require 'configurations'
|
3
|
+
require 'addressable/uri'
|
4
|
+
require_relative 'eversign/client'
|
5
|
+
require_relative 'eversign/models/business'
|
6
|
+
require_relative 'eversign/models/file'
|
7
|
+
require_relative 'eversign/models/field'
|
8
|
+
require_relative 'eversign/models/signer'
|
9
|
+
require_relative 'eversign/models/recipient'
|
10
|
+
require_relative 'eversign/models/document'
|
11
|
+
require_relative 'eversign/models/template'
|
12
|
+
require_relative 'eversign/models/error'
|
13
|
+
require_relative 'eversign/models/exception'
|
14
|
+
require_relative 'eversign/mappings/business'
|
15
|
+
require_relative 'eversign/mappings/file'
|
16
|
+
require_relative 'eversign/mappings/document'
|
17
|
+
require_relative 'eversign/mappings/exception'
|
18
|
+
|
19
|
+
module Eversign
|
20
|
+
include Configurations
|
21
|
+
configurable String, :access_key
|
22
|
+
configurable Integer, :business_id
|
23
|
+
configurable String, :oauth_base
|
24
|
+
configurable String, :api_base do |value|
|
25
|
+
value ||= 'https://api.eversign.com'
|
26
|
+
parsed = Addressable::URI.parse(value)
|
27
|
+
if %w(http https).include?(parsed.scheme)
|
28
|
+
value
|
29
|
+
else
|
30
|
+
raise ArgumentError 'Invalid API Base URL'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,207 @@
|
|
1
|
+
require "addressable/template"
|
2
|
+
require "faraday"
|
3
|
+
require "json"
|
4
|
+
require "logger"
|
5
|
+
|
6
|
+
module Eversign
|
7
|
+
class FileNotFoundException < Exception
|
8
|
+
end
|
9
|
+
|
10
|
+
class Client
|
11
|
+
attr_accessor :access_key, :base_uri, :business_id, :token
|
12
|
+
|
13
|
+
def initialize()
|
14
|
+
self.base_uri = Eversign.configuration.api_base || "https://api.eversign.com"
|
15
|
+
access_key = Eversign.configuration.access_key
|
16
|
+
if access_key.start_with?("Bearer ")
|
17
|
+
self.set_oauth_access_token(access_key)
|
18
|
+
else
|
19
|
+
self.access_key = access_key
|
20
|
+
end
|
21
|
+
self.business_id = Eversign.configuration.business_id
|
22
|
+
end
|
23
|
+
|
24
|
+
def set_oauth_access_token(oauthtoken)
|
25
|
+
if oauthtoken.startswith("Bearer ")
|
26
|
+
self.token = oauthtoken
|
27
|
+
else
|
28
|
+
self.token = "Bearer " + oauthtoken
|
29
|
+
end
|
30
|
+
self.get_businesses()
|
31
|
+
end
|
32
|
+
|
33
|
+
def generate_oauth_authorization_url(options)
|
34
|
+
check_arguments(["client_id", "state"], options)
|
35
|
+
template = Addressable::Template.new(Eversign.configuration.oauth_base + "/authorize{?clinet_id,state}")
|
36
|
+
return template.partial_expand(clinet_id: options["client_id"], state: options["state"]).pattern
|
37
|
+
end
|
38
|
+
|
39
|
+
def request_oauth_token(options)
|
40
|
+
check_arguments(["client_id", "client_secret", "code", "state"], options)
|
41
|
+
|
42
|
+
req = execute_request(:post, "/token", options)
|
43
|
+
if req.status == 200
|
44
|
+
response_obj = JSON.parse(req.body)
|
45
|
+
|
46
|
+
if response_obj.key?("success")
|
47
|
+
raise response_obj["message"]
|
48
|
+
else
|
49
|
+
return response_obj["access_token"]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
raise "no success"
|
53
|
+
end
|
54
|
+
|
55
|
+
def get_buisnesses
|
56
|
+
response = execute_request(:get, "/api/business?access_key=#{access_key}")
|
57
|
+
extract_response(response.body, Eversign::Mappings::Business)
|
58
|
+
end
|
59
|
+
|
60
|
+
def get_all_documents
|
61
|
+
get_documents("all")
|
62
|
+
end
|
63
|
+
|
64
|
+
def get_completed_documents
|
65
|
+
get_documents("completed")
|
66
|
+
end
|
67
|
+
|
68
|
+
def get_draft_documents
|
69
|
+
get_documents("draft")
|
70
|
+
end
|
71
|
+
|
72
|
+
def get_cancelled_documents
|
73
|
+
get_documents("cancelled")
|
74
|
+
end
|
75
|
+
|
76
|
+
def get_action_required_documents
|
77
|
+
get_documents("my_action_required")
|
78
|
+
end
|
79
|
+
|
80
|
+
def get_waiting_for_others_documents
|
81
|
+
get_documents("waiting_for_others")
|
82
|
+
end
|
83
|
+
|
84
|
+
def get_templates
|
85
|
+
get_documents("templates")
|
86
|
+
end
|
87
|
+
|
88
|
+
def get_archived_templates
|
89
|
+
get_documents("templates_archived")
|
90
|
+
end
|
91
|
+
|
92
|
+
def get_draft_templates
|
93
|
+
get_documents("template_draft")
|
94
|
+
end
|
95
|
+
|
96
|
+
def get_document(document_hash)
|
97
|
+
path = "/api/document?access_key=#{access_key}&business_id=#{business_id}&document_hash=#{document_hash}"
|
98
|
+
response = execute_request(:get, path)
|
99
|
+
extract_response(response.body, Eversign::Mappings::Document)
|
100
|
+
end
|
101
|
+
|
102
|
+
def create_document(document, isFromTemplate = false)
|
103
|
+
if document.files
|
104
|
+
for file in document.files
|
105
|
+
if file.file_url
|
106
|
+
file_response = self.upload_file(file.file_url)
|
107
|
+
file.file_url = nil
|
108
|
+
file.file_id = file_response.file_id
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
path = "/api/document?access_key=#{access_key}&business_id=#{business_id}"
|
113
|
+
data = Eversign::Mappings::Document.representation_for(document, isFromTemplate)
|
114
|
+
response = execute_request(:post, path, data)
|
115
|
+
extract_response(response.body, Eversign::Mappings::Document)
|
116
|
+
end
|
117
|
+
|
118
|
+
def create_document_from_template(template)
|
119
|
+
create_document(template, true)
|
120
|
+
end
|
121
|
+
|
122
|
+
def delete_document(document_hash)
|
123
|
+
path = "/api/document?access_key=#{access_key}&business_id=#{business_id}&document_hash=#{document_hash}"
|
124
|
+
delete(path, document_hash)
|
125
|
+
end
|
126
|
+
|
127
|
+
def cancel_document(document_hash)
|
128
|
+
path = "/api/document?access_key=#{access_key}&business_id=#{business_id}&document_hash=#{document_hash}&cancel=1"
|
129
|
+
delete(path, document_hash)
|
130
|
+
end
|
131
|
+
|
132
|
+
def download_raw_document_to_path(document_hash, path)
|
133
|
+
sub_uri = "/api/download_raw_document?access_key=#{access_key}&business_id=#{business_id}&document_hash=#{document_hash}"
|
134
|
+
download(sub_uri, path)
|
135
|
+
end
|
136
|
+
|
137
|
+
def download_final_document_to_path(document_hash, path, audit_trail = 1)
|
138
|
+
sub_uri = "/api/download_raw_document?access_key=#{access_key}&business_id=#{business_id}&document_hash=#{document_hash}&audit_trail=#{audit_trail}"
|
139
|
+
download(sub_uri, path)
|
140
|
+
end
|
141
|
+
|
142
|
+
def upload_file(file_path)
|
143
|
+
payload = { upload: Faraday::UploadIO.new(file_path, "text/plain") }
|
144
|
+
path = "/api/file?access_key=#{access_key}&business_id=#{business_id}"
|
145
|
+
response = execute_request(:post, path, payload, true)
|
146
|
+
extract_response(response.body, Eversign::Mappings::File)
|
147
|
+
end
|
148
|
+
|
149
|
+
def send_reminder_for_document(document_hash, signer_id)
|
150
|
+
path = "/api/send_reminder?access_key=#{access_key}&business_id=#{business_id}"
|
151
|
+
response = execute_request(:post, path, { document_hash: document_hash, signer_id: signer_id }.to_json)
|
152
|
+
eval(response.body)[:success] ? true : extract_response(response.body)
|
153
|
+
end
|
154
|
+
|
155
|
+
private
|
156
|
+
|
157
|
+
def execute_request(method, path, body = nil, multipart = false)
|
158
|
+
@faraday ||= Faraday.new(base_uri) do |conn|
|
159
|
+
conn.headers = {}
|
160
|
+
conn.headers["User-Agent"] = "Eversign_Ruby_SDK"
|
161
|
+
conn.headers["Authorization"] = token if token
|
162
|
+
conn.request :multipart if multipart
|
163
|
+
conn.adapter :net_http
|
164
|
+
end
|
165
|
+
|
166
|
+
@faraday.send(method) do |request|
|
167
|
+
request.url path
|
168
|
+
request.body = body if body
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
def check_arguments(arguments = [], options = {})
|
173
|
+
arguments.each do |argument|
|
174
|
+
raise ("Please specify " + argument) unless options.has_key?(argument.to_sym)
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
def delete(path, document_hash)
|
179
|
+
response = execute_request(:delete, path)
|
180
|
+
eval(response.body)[:success] ? true : extract_response(response.body)
|
181
|
+
end
|
182
|
+
|
183
|
+
def download(sub_uri, path)
|
184
|
+
response = execute_request(:get, sub_uri)
|
185
|
+
File.open(path, "wb") { |fp| fp.write(response.body) }
|
186
|
+
end
|
187
|
+
|
188
|
+
def get_documents(doc_type)
|
189
|
+
path = "/api/document?access_key=#{access_key}&business_id=#{business_id}&type=#{doc_type}"
|
190
|
+
response = execute_request(:get, path)
|
191
|
+
extract_response(response.body, Eversign::Mappings::Document)
|
192
|
+
end
|
193
|
+
|
194
|
+
def extract_response(body, mapping = nil)
|
195
|
+
data = JSON.parse(body)
|
196
|
+
if data.kind_of?(Array)
|
197
|
+
mapping.extract_collection(body, nil)
|
198
|
+
else
|
199
|
+
if data.key?("success")
|
200
|
+
Eversign::Mappings::Exception.extract_single(body, nil)
|
201
|
+
else
|
202
|
+
mapping.extract_single(body, nil)
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'kartograph'
|
2
|
+
require_relative '../models/business'
|
3
|
+
|
4
|
+
module Eversign
|
5
|
+
module Mappings
|
6
|
+
class Business
|
7
|
+
include Kartograph::DSL
|
8
|
+
|
9
|
+
kartograph do
|
10
|
+
mapping Eversign::Models::Business
|
11
|
+
|
12
|
+
property :business_id, :business_status, :business_identifier, :business_name, :creation_time_stamp, :is_primary
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require "kartograph"
|
2
|
+
require_relative "../models/document"
|
3
|
+
|
4
|
+
module Eversign
|
5
|
+
module Mappings
|
6
|
+
class File
|
7
|
+
include Kartograph::DSL
|
8
|
+
|
9
|
+
kartograph do
|
10
|
+
mapping Eversign::Models::File
|
11
|
+
|
12
|
+
property :name, :file_id, :file_url, :file_base64
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Signer
|
17
|
+
include Kartograph::DSL
|
18
|
+
|
19
|
+
kartograph do
|
20
|
+
mapping Eversign::Models::Signer
|
21
|
+
|
22
|
+
property :id, :name, :email, :order, :pin, :message, :deliver_email, :role
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class Field
|
27
|
+
include Kartograph::DSL
|
28
|
+
|
29
|
+
kartograph do
|
30
|
+
mapping Eversign::Models::Field
|
31
|
+
|
32
|
+
property :name, :type, :x, :y, :width, :height, :page, :signer, :identifier, :required, :readonly, :merge, :type,
|
33
|
+
:validation_type, :text_style, :text_font, :text_size, :text_color, :value, :options, :group
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class Recipient
|
38
|
+
include Kartograph::DSL
|
39
|
+
|
40
|
+
kartograph do
|
41
|
+
mapping Eversign::Models::Recipient
|
42
|
+
|
43
|
+
property :name, :email, :role
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
class Document
|
48
|
+
include Kartograph::DSL
|
49
|
+
|
50
|
+
kartograph do
|
51
|
+
mapping Eversign::Models::Document
|
52
|
+
|
53
|
+
property :document_hash, :template_id, :sandbox, :is_draft, :title, :message, :use_signer_order, :reminders, :require_all_signers,
|
54
|
+
:redirect, :redirect_decline, :client, :expires, :embedded_signing_enabled, :requester_email, :is_template,
|
55
|
+
:is_completed, :is_archived, :is_deleted, :is_trashed, :is_cancelled, :embedded, :in_person, :permission
|
56
|
+
property :files, plural: true, include: File
|
57
|
+
property :signers, plural: true, include: Signer
|
58
|
+
property :recipients, plural: true, include: Recipient
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.extract_collection(content, scope)
|
62
|
+
data = JSON.parse(content)
|
63
|
+
result = []
|
64
|
+
data.each do |item|
|
65
|
+
result << extract_single(item.to_json, nil)
|
66
|
+
end
|
67
|
+
result
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.extract_single(content, scope)
|
71
|
+
obj = super(content, scope)
|
72
|
+
data = JSON.parse(content)
|
73
|
+
if data["fields"]
|
74
|
+
data["fields"].each do |field_list|
|
75
|
+
field_data = []
|
76
|
+
field_list.each do |field|
|
77
|
+
extracted_field = Field.extract_single(field.to_json, nil)
|
78
|
+
field_data << extracted_field if extracted_field
|
79
|
+
end
|
80
|
+
obj.add_field_list(field_data)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
obj
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.representation_for(document, isFromTemplate = false)
|
87
|
+
data = super(nil, document)
|
88
|
+
list = []
|
89
|
+
if document.fields
|
90
|
+
document.fields.each do |field_list|
|
91
|
+
field_data = []
|
92
|
+
field_list.each do |field|
|
93
|
+
field_data << JSON.parse(Field.representation_for(nil, field))
|
94
|
+
end
|
95
|
+
list << field_data
|
96
|
+
end
|
97
|
+
end
|
98
|
+
data = JSON.parse(data)
|
99
|
+
# Fix for issue 7. When we create a document from template (isFromTemplate=true) fields array is 1 dimentional, so we flatten it:
|
100
|
+
data["fields"] = isFromTemplate ? list.flatten : list
|
101
|
+
JSON.dump(data)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'kartograph'
|
2
|
+
#require_relative '../models/document'
|
3
|
+
|
4
|
+
module Eversign
|
5
|
+
module Mappings
|
6
|
+
class Error
|
7
|
+
include Kartograph::DSL
|
8
|
+
|
9
|
+
kartograph do
|
10
|
+
mapping Eversign::Models::Error
|
11
|
+
|
12
|
+
property :code, :type, :info
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Exception
|
17
|
+
include Kartograph::DSL
|
18
|
+
|
19
|
+
kartograph do
|
20
|
+
mapping Eversign::Models::Exception
|
21
|
+
|
22
|
+
property :success
|
23
|
+
property :error, include: Error
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'kartograph'
|
2
|
+
require_relative '../models/file'
|
3
|
+
|
4
|
+
module Eversign
|
5
|
+
module Mappings
|
6
|
+
class File
|
7
|
+
include Kartograph::DSL
|
8
|
+
|
9
|
+
kartograph do
|
10
|
+
mapping Eversign::Models::File
|
11
|
+
|
12
|
+
property :name, :file_id, :file_url, :file_base64, :pages, :total_pages
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Eversign
|
2
|
+
module Models
|
3
|
+
class Document
|
4
|
+
attr_accessor :document_hash, :template_id, :sandbox, :is_draft, :title, :message, :use_signer_order, :reminders, :require_all_signers,
|
5
|
+
:redirect, :redirect_decline, :client, :expires, :embedded_signing_enabled, :requester_email, :is_template,
|
6
|
+
:is_completed, :is_archived, :is_deleted, :is_trashed, :is_cancelled, :embedded, :in_person, :permission,
|
7
|
+
:files, :signers, :recipients, :meta, :fields
|
8
|
+
|
9
|
+
def add_file(file)
|
10
|
+
self.files ||= []
|
11
|
+
self.files << file
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_field(field)
|
15
|
+
add_field_list([field])
|
16
|
+
end
|
17
|
+
|
18
|
+
def add_field_list(field_list)
|
19
|
+
self.fields ||= []
|
20
|
+
self.fields << field_list
|
21
|
+
end
|
22
|
+
|
23
|
+
def add_recipient(recipient)
|
24
|
+
self.recipients ||= []
|
25
|
+
self.recipients << recipient
|
26
|
+
end
|
27
|
+
|
28
|
+
def add_signer(signer)
|
29
|
+
self.signers ||= []
|
30
|
+
self.signers << signer
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module Eversign
|
2
|
+
module Models
|
3
|
+
class Field
|
4
|
+
attr_accessor :name, :type, :x, :y, :width, :height, :page, :signer, :identifier, :required, :readonly, :merge, :type,
|
5
|
+
:validation_type, :text_style, :text_font, :text_size, :text_color, :value, :options, :group
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'active_model'
|
2
|
+
module Eversign
|
3
|
+
module Models
|
4
|
+
class File
|
5
|
+
include ActiveModel::Validations
|
6
|
+
|
7
|
+
attr_accessor :name, :file_id, :file_url, :file_base64, :pages, :total_pages
|
8
|
+
|
9
|
+
validate :only_one_option
|
10
|
+
|
11
|
+
def initialize(name=nil)
|
12
|
+
self.name = name
|
13
|
+
end
|
14
|
+
|
15
|
+
def only_one_option()
|
16
|
+
error = false
|
17
|
+
if file_id && !file_id.empty?
|
18
|
+
error = file_url || file_base64
|
19
|
+
elsif file_url && !file_url.empty?
|
20
|
+
error = file_id || file_base64
|
21
|
+
elsif file_base64 && !file_base64.empty?
|
22
|
+
error = file_id || file_url
|
23
|
+
else
|
24
|
+
error = true
|
25
|
+
end
|
26
|
+
errors.add('Please provide only one file option') if error
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Eversign
|
2
|
+
module Models
|
3
|
+
class Signer
|
4
|
+
attr_accessor :id, :name, :email, :order, :pin, :message, :deliver_email, :role
|
5
|
+
|
6
|
+
def initialize(name=nil, email=nil, role=nil)
|
7
|
+
self.name = name
|
8
|
+
self.email = email
|
9
|
+
self.role = role
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,199 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: eversign-sdk
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- eversign
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-04-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.13'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.13'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: addressable
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.5'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: kartograph
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.2.3
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.2.3
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: configurations
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.2'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '10.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '10.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rspec
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: dotenv-rails
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: Gem for Eversign API SDK.
|
154
|
+
email:
|
155
|
+
- support@eversign.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files: []
|
159
|
+
files:
|
160
|
+
- lib/eversign.rb
|
161
|
+
- lib/eversign/client.rb
|
162
|
+
- lib/eversign/mappings/business.rb
|
163
|
+
- lib/eversign/mappings/document.rb
|
164
|
+
- lib/eversign/mappings/exception.rb
|
165
|
+
- lib/eversign/mappings/file.rb
|
166
|
+
- lib/eversign/models/business.rb
|
167
|
+
- lib/eversign/models/document.rb
|
168
|
+
- lib/eversign/models/error.rb
|
169
|
+
- lib/eversign/models/exception.rb
|
170
|
+
- lib/eversign/models/field.rb
|
171
|
+
- lib/eversign/models/file.rb
|
172
|
+
- lib/eversign/models/recipient.rb
|
173
|
+
- lib/eversign/models/signer.rb
|
174
|
+
- lib/eversign/models/template.rb
|
175
|
+
- lib/eversign/version.rb
|
176
|
+
homepage: https://github.com/workatbest/eversign-ruby-sdk
|
177
|
+
licenses:
|
178
|
+
- MIT
|
179
|
+
metadata: {}
|
180
|
+
post_install_message:
|
181
|
+
rdoc_options: []
|
182
|
+
require_paths:
|
183
|
+
- lib
|
184
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
189
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '0'
|
194
|
+
requirements: []
|
195
|
+
rubygems_version: 3.1.2
|
196
|
+
signing_key:
|
197
|
+
specification_version: 4
|
198
|
+
summary: Gem for Eversign API Client.
|
199
|
+
test_files: []
|