creditario-client 0.0.5.alpha → 0.0.6.alpha
Sign up to get free protection for your applications and to get access to all the features.
- 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
|