rs4 0.2.3 → 0.2.4
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 +3 -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 +2 -2
- 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: 98cdd324402202c22dced91d438c470bb032f16c689155b6e73bf6932a459094
|
4
|
+
data.tar.gz: 13c521a87135c796fec0aa2f6df17a1812452cbb7fee182607ebca47f5bc6873
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '097d79e1a17b7b56e57a96031cf7d1e3afe80ad60c9dd2f09f92ae209dd7d90acddc56f4728cc2e5605977552bcef3739d1fffb9f0f77a410e5d8de8508b5965'
|
7
|
+
data.tar.gz: d24c5abb6e34b9b780b9dfe3cdb1e70aeb8128fec520d24bc9f16e8a65796d9762124cebad3ab5ae25fb99e7a74c2e834d0e64638af01a3fb104e9bb868950a5
|
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
@@ -90,7 +90,7 @@ module RS4
|
|
90
90
|
|
91
91
|
response = RS4.configuration.request_handler.execute(path, :get)
|
92
92
|
|
93
|
-
unless response.
|
93
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
94
94
|
archived_document = response.dig(:archived_document)
|
95
95
|
|
96
96
|
Document.new(archived_document) if archived_document
|
@@ -104,7 +104,7 @@ module RS4
|
|
104
104
|
|
105
105
|
response = RS4.configuration.request_handler.execute(path, :get)
|
106
106
|
|
107
|
-
unless response.
|
107
|
+
unless response.is_a?(RS4::Error) || response.nil? # .class == Net::HTTPOK
|
108
108
|
raw_document = response.dig(:document) # JSON.parse(response.body, symbolize_names: true)
|
109
109
|
|
110
110
|
# Document.new(raw_document[:document])
|
@@ -116,7 +116,7 @@ module RS4
|
|
116
116
|
path = 'documents'
|
117
117
|
response = RS4.configuration.request_handler.execute(path, :get)
|
118
118
|
|
119
|
-
unless response.
|
119
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
120
120
|
documents = []
|
121
121
|
|
122
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)
|
@@ -80,7 +80,7 @@ module RS4
|
|
80
80
|
|
81
81
|
Rails.logger.info("RS4::ReusableTemplate::send_document:: #{response.inspect}")
|
82
82
|
|
83
|
-
unless response.
|
83
|
+
unless response.is_a?(RS4::Error) || response.nil?
|
84
84
|
# parsed_response = JSON.parse(response.read_body, symbolize_names: true)
|
85
85
|
|
86
86
|
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.4
|
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-02 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
|