rs4 0.2.2 → 0.2.9
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/lib/rs4.rb +1 -0
- data/lib/rs4/configuration.rb +15 -0
- data/lib/rs4/configuration_error.rb +15 -0
- data/lib/rs4/document.rb +18 -3
- data/lib/rs4/error.rb +12 -0
- data/lib/rs4/request.rb +5 -0
- data/lib/rs4/request_error.rb +5 -3
- data/lib/rs4/reusable_template.rb +20 -4
- data/lib/rs4/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58c1470115558a69ec369b78be72bb1c7913e13ccbf29c64931d2020edfe8d5f
|
4
|
+
data.tar.gz: 79d8ab66e22e0eacce069057d0802c3157937b8fb311aa5ecb064dfae5932f9d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 973322b9feae4038cea97011992d227074f9f7a0286a649447c02fd5c98459c59df903cd17081fe3d994bb63cd447d9e4ee7b5b7dfc623c908cc3bb138b656fa
|
7
|
+
data.tar.gz: 6dd001b29aab096e7f54c5c29196601768fd9aceb96c235e2f40d7b91b51c5dc6a3581f3cb06e8cc0d6d55c930cddb4b2c1098a43ea025fcdfb2cd1dfc8a1dfe
|
data/lib/rs4.rb
CHANGED
data/lib/rs4/configuration.rb
CHANGED
@@ -14,5 +14,20 @@ module RS4
|
|
14
14
|
attr_accessor :request_handler
|
15
15
|
attr_accessor :private_api_key
|
16
16
|
attr_accessor :api_host
|
17
|
+
attr_accessor :errors
|
18
|
+
|
19
|
+
def valid?
|
20
|
+
@errors = []
|
21
|
+
|
22
|
+
@errors << '`private_api_key` not set' unless private_api_key.present?
|
23
|
+
@errors << '`api_host` not set' unless api_host.present?
|
24
|
+
|
25
|
+
if @errors.any?
|
26
|
+
Rails.logger.error("RS4 Configuration Invalid: #{@errors.join(',')}")
|
27
|
+
return false
|
28
|
+
else
|
29
|
+
return true
|
30
|
+
end
|
31
|
+
end
|
17
32
|
end
|
18
33
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rs4/error.rb'
|
2
|
+
|
3
|
+
module RS4
|
4
|
+
# Error should be returned when the module has been
|
5
|
+
# improperly configured
|
6
|
+
class ConfigurationError < Error
|
7
|
+
attr_accessor :error_fields
|
8
|
+
|
9
|
+
def initialize(error_fields = [], message)
|
10
|
+
super(message)
|
11
|
+
|
12
|
+
@error_fields = error_fields
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/rs4/document.rb
CHANGED
@@ -9,6 +9,7 @@ module RS4
|
|
9
9
|
EXECUTED_STATE = :executed
|
10
10
|
|
11
11
|
attr_accessor :id
|
12
|
+
attr_accessor :original_guid
|
12
13
|
attr_accessor :current_signer_id
|
13
14
|
attr_accessor :name
|
14
15
|
attr_accessor :filename
|
@@ -82,14 +83,28 @@ module RS4
|
|
82
83
|
end
|
83
84
|
|
84
85
|
class << self
|
86
|
+
def get_archive_document(document_guid)
|
87
|
+
return unless document_guid.present?
|
88
|
+
|
89
|
+
path = "archived_documents_by_original_guid/#{document_guid}"
|
90
|
+
|
91
|
+
response = RS4.configuration.request_handler.execute(path, :get)
|
92
|
+
|
93
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
94
|
+
archived_document = response.dig(:archived_document)
|
95
|
+
|
96
|
+
Document.new(archived_document) if archived_document
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
85
100
|
def get_document(document_guid)
|
86
|
-
return unless document_guid
|
101
|
+
return unless document_guid.present?
|
87
102
|
|
88
103
|
path = "documents/#{document_guid}"
|
89
104
|
|
90
105
|
response = RS4.configuration.request_handler.execute(path, :get)
|
91
106
|
|
92
|
-
unless response.
|
107
|
+
unless response.is_a?(RS4::Error) || response.nil? # .class == Net::HTTPOK
|
93
108
|
raw_document = response.dig(:document) # JSON.parse(response.body, symbolize_names: true)
|
94
109
|
|
95
110
|
# Document.new(raw_document[:document])
|
@@ -101,7 +116,7 @@ module RS4
|
|
101
116
|
path = 'documents'
|
102
117
|
response = RS4.configuration.request_handler.execute(path, :get)
|
103
118
|
|
104
|
-
unless response.
|
119
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
105
120
|
documents = []
|
106
121
|
|
107
122
|
response.dig(:documents).each do |document_hash|
|
data/lib/rs4/error.rb
ADDED
data/lib/rs4/request.rb
CHANGED
@@ -7,6 +7,11 @@ module RS4
|
|
7
7
|
|
8
8
|
class << self
|
9
9
|
def execute(path, method = :get, body = {})
|
10
|
+
# Check required keys exist before continuing
|
11
|
+
unless RS4.configuration.valid?
|
12
|
+
return RS4::ConfigurationError.new(RS4.configuration.errors, 'Invalid Configuration')
|
13
|
+
end
|
14
|
+
|
10
15
|
url = URI(RS4.configuration.api_host + '/public/v1/' + path)
|
11
16
|
|
12
17
|
http = Net::HTTP.new(url.host, url.port)
|
data/lib/rs4/request_error.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
|
+
require 'rs4/error.rb'
|
2
|
+
|
1
3
|
module RS4
|
2
4
|
# The standard error returned when a request to the RS4
|
3
5
|
# API fails
|
4
6
|
# code - the NetHTTP response code as a number (eg - 200)
|
5
7
|
# error_class - which NetHTTP class was returned by the response
|
6
8
|
# message - the error message (if any) returned in the response
|
7
|
-
class RequestError
|
9
|
+
class RequestError < Error
|
8
10
|
attr_accessor :code
|
9
11
|
attr_accessor :error_class
|
10
|
-
attr_accessor :message
|
11
12
|
|
12
13
|
def initialize(code, error_class, message)
|
14
|
+
super(message)
|
15
|
+
|
13
16
|
@code = code
|
14
17
|
@error_class = error_class
|
15
|
-
@message = message
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
@@ -50,7 +50,7 @@ module RS4
|
|
50
50
|
|
51
51
|
response = RS4.configuration.request_handler.execute(path, :get)
|
52
52
|
|
53
|
-
unless response.
|
53
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
54
54
|
# parsed_response = JSON.parse(response.read_body, symbolize_names: true)
|
55
55
|
|
56
56
|
template_hash = response.dig(:reusable_template)
|
@@ -69,18 +69,34 @@ module RS4
|
|
69
69
|
RS4.configuration.request_handler.execute(path, :get)
|
70
70
|
end
|
71
71
|
|
72
|
+
def embed_document(template_guid, options = {})
|
73
|
+
path = "reusable_templates/#{template_guid}/embed_document"
|
74
|
+
|
75
|
+
body = options
|
76
|
+
|
77
|
+
response = RS4.configuration.request_handler.execute(path, :post, body)
|
78
|
+
|
79
|
+
Rails.logger.info("RS4::ReusableTemplate::embed_document:: #{response.inspect}")
|
80
|
+
|
81
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
82
|
+
# parsed_response = JSON.parse(response.read_body, symbolize_names: true)
|
83
|
+
|
84
|
+
document_hash = response.dig(:document)
|
85
|
+
|
86
|
+
return RS4::Document.new(document_hash)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
72
90
|
def send_document(template_guid, options = {})
|
73
91
|
path = "reusable_templates/#{template_guid}/send_document"
|
74
92
|
|
75
93
|
body = options
|
76
94
|
|
77
|
-
body[:in_person] = true
|
78
|
-
|
79
95
|
response = RS4.configuration.request_handler.execute(path, :post, body)
|
80
96
|
|
81
97
|
Rails.logger.info("RS4::ReusableTemplate::send_document:: #{response.inspect}")
|
82
98
|
|
83
|
-
unless response.
|
99
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
84
100
|
# parsed_response = JSON.parse(response.read_body, symbolize_names: true)
|
85
101
|
|
86
102
|
document_hash = response.dig(:document)
|
data/lib/rs4/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rs4
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- donny
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Provides ruby access to CRUD operations for RightSignature documents
|
14
14
|
and reusable templates
|
@@ -29,7 +29,9 @@ files:
|
|
29
29
|
- bin/setup
|
30
30
|
- lib/rs4.rb
|
31
31
|
- lib/rs4/configuration.rb
|
32
|
+
- lib/rs4/configuration_error.rb
|
32
33
|
- lib/rs4/document.rb
|
34
|
+
- lib/rs4/error.rb
|
33
35
|
- lib/rs4/request.rb
|
34
36
|
- lib/rs4/request_error.rb
|
35
37
|
- lib/rs4/reusable_template.rb
|