creditario-client 0.0.5.alpha → 0.0.6.alpha
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/creditario/api/request.rb +33 -4
- data/lib/creditario/api/retrieve.rb +1 -0
- data/lib/creditario/client/version.rb +1 -1
- data/lib/creditario/repositories/qualify_score_flows.rb +1 -1
- data/lib/creditario/resources/qualify_score_flow.rb +1 -1
- data/lib/creditario/resources/resource.rb +12 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 54a4334502f35b6d2befa8cf6ce2ba4cd0440c2b008f1080df753742a1c3b2ea
|
|
4
|
+
data.tar.gz: '0608409622203f0cfb3a29a9af6e73a9dee3dfb62f3ee25938a52a9ab23cdcef'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 54d5728536d0e2de222077f7978ebb720c1d35f9443318eb9b5722156be4cdb87cc8925d647812ec09c69b21cddddd292d988d47cd553ffd31556ad383555379
|
|
7
|
+
data.tar.gz: 0f479a8dbf1fff59a814f8a8ec84cf8d6c38d61312164a7b6d2143e8c4642a1a78f647c5d4a1cc94beb1ec91f0afe1e1489e1de8dee4f7e6f120e664ac27ab9e
|
|
@@ -38,8 +38,10 @@ module Creditario # :nodoc:
|
|
|
38
38
|
|
|
39
39
|
handle_errored_responses(response)
|
|
40
40
|
|
|
41
|
-
return response if response.body.nil?
|
|
42
|
-
|
|
41
|
+
return response if response.code == "204" && response.body.nil?
|
|
42
|
+
response_body = handle_responses(response)
|
|
43
|
+
|
|
44
|
+
Oj.load(response_body)
|
|
43
45
|
rescue Oj::ParseError => ex
|
|
44
46
|
raise Exceptions::InvalidResponseBodyError, ex.message
|
|
45
47
|
rescue Net::OpenTimeout => ex
|
|
@@ -53,8 +55,12 @@ module Creditario # :nodoc:
|
|
|
53
55
|
def request_from_method(method, uri, params)
|
|
54
56
|
case method
|
|
55
57
|
when :get
|
|
58
|
+
cache_enabled = params.delete(:cache)
|
|
56
59
|
uri.query = URI.encode_www_form(params)
|
|
57
|
-
|
|
60
|
+
|
|
61
|
+
request = set_request_headers(Net::HTTP::Get.new(uri))
|
|
62
|
+
request = set_request_cache_headers(request) if defined?(Rails) && cache_enabled
|
|
63
|
+
request
|
|
58
64
|
when :post
|
|
59
65
|
set_request_body(set_request_headers(Net::HTTP::Post.new(uri)), params)
|
|
60
66
|
when :multipart
|
|
@@ -69,8 +75,19 @@ module Creditario # :nodoc:
|
|
|
69
75
|
def set_request_headers(request)
|
|
70
76
|
request = set_authorization_headers(request)
|
|
71
77
|
|
|
78
|
+
request["User-Agent"] = "creditario-client gem v#{Creditario::Client::VERSION}"
|
|
72
79
|
request["Accept"] = "application/vnd.creditar.v#{Creditario::Client.api_version}+json"
|
|
73
|
-
|
|
80
|
+
|
|
81
|
+
request
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def set_request_cache_headers(request)
|
|
85
|
+
@@cached_request = Rails.cache.fetch(request.uri.to_s)
|
|
86
|
+
|
|
87
|
+
if @@cached_request
|
|
88
|
+
request["If-None-Match"] = @@cached_request[:etag]
|
|
89
|
+
request["If-Modified-Since"] = @@cached_request[:last_modified]
|
|
90
|
+
end
|
|
74
91
|
|
|
75
92
|
request
|
|
76
93
|
end
|
|
@@ -101,6 +118,18 @@ module Creditario # :nodoc:
|
|
|
101
118
|
raise Exceptions::ResourceNotFoundError.new(response) if response.code == "404"
|
|
102
119
|
raise Exceptions::UnprocessableEntityError.new(response) if response.code == "422"
|
|
103
120
|
end
|
|
121
|
+
|
|
122
|
+
def handle_responses(response)
|
|
123
|
+
return @@cached_request[:payload] if response.code == "304" && @@cached_request
|
|
124
|
+
|
|
125
|
+
if defined?(Rails) && response.code == "200" && response["Last-Modified"]
|
|
126
|
+
cache_response = { etag: response["Etag"], last_modified: response["Last-Modified"], payload: response.body }
|
|
127
|
+
|
|
128
|
+
Rails.cache.write(response.uri.to_s, cache_response, expires_in: 10.minutes)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
response.body
|
|
132
|
+
end
|
|
104
133
|
end
|
|
105
134
|
end
|
|
106
135
|
end
|
|
@@ -16,6 +16,7 @@ module Creditario # :nodoc:
|
|
|
16
16
|
def retrieve(id, query_params = {})
|
|
17
17
|
parts = [self.resource_path, id]
|
|
18
18
|
path = parts.compact.join("/")
|
|
19
|
+
query_params[:cache] = true
|
|
19
20
|
response = API.request(:get, path, query_params)
|
|
20
21
|
|
|
21
22
|
attributes = response.dig("data").first
|
|
@@ -9,7 +9,7 @@ module Creditario # :nodoc:
|
|
|
9
9
|
#
|
|
10
10
|
# - Obtener una Calificación:
|
|
11
11
|
#
|
|
12
|
-
# Creditario::
|
|
12
|
+
# Creditario::QualifyScoreFlows.create(credit_application_id: "c005b7f7-a44a-4ec0-bf7f-73d15d806fd9")
|
|
13
13
|
# => Creditario::QualifyScoreFlow
|
|
14
14
|
module QualifyScoreFlows
|
|
15
15
|
extend Creditario::API::Create
|
|
@@ -8,7 +8,7 @@ module Creditario # :nodoc:
|
|
|
8
8
|
#
|
|
9
9
|
# === Ejemplo
|
|
10
10
|
#
|
|
11
|
-
# => score_flow_calification = Creditario::QualifyScoreFlow.new({"
|
|
11
|
+
# => score_flow_calification = Creditario::QualifyScoreFlow.new({"value": "100", "passed": "true", "notes": "Resultado sastifactorio"})
|
|
12
12
|
# => score_flow_calification.value
|
|
13
13
|
# => 100
|
|
14
14
|
# => score_flow_calification.passed
|
|
@@ -6,9 +6,20 @@ module Creditario # :nodoc:
|
|
|
6
6
|
#
|
|
7
7
|
# Modulo que se encarga de establecer el mecanismo de inicialización de las siguientes clases:
|
|
8
8
|
#
|
|
9
|
+
# - Creditario::Product
|
|
9
10
|
# - Creditario::Customer
|
|
10
11
|
# - Creditario::Application
|
|
11
|
-
# - Creditario::
|
|
12
|
+
# - Creditario::Credit
|
|
13
|
+
# - Creditario::Contract
|
|
14
|
+
# - Creditario::Expense
|
|
15
|
+
# - Creditario::Income
|
|
16
|
+
# - Creditario::Reference
|
|
17
|
+
# - Creditario::Attachment
|
|
18
|
+
# - Creditario::CreditEstimate
|
|
19
|
+
# - Creditario::Catalog
|
|
20
|
+
# - Creditario::Payment
|
|
21
|
+
# - Creditario::Movement
|
|
22
|
+
# - Creditario::QualifyScoreFlow
|
|
12
23
|
#
|
|
13
24
|
module Resource
|
|
14
25
|
def self.included(klass) # :nodoc:
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: creditario-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.6.alpha
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- michelada.io
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-05-
|
|
11
|
+
date: 2020-05-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: oj
|