ruby-experian 0.0.4 → 0.0.5
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/Gemfile.lock +1 -1
- data/lib/experian/http.rb +3 -66
- data/lib/experian/version.rb +1 -1
- data/lib/experian.rb +0 -16
- 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: 4891efd33a954f14ff0cd9e39e80509c846630be39443da7f95cc3cdb3c1e763
|
4
|
+
data.tar.gz: 424af4f3361dc0fd5fe5d5900bad4e9360d3b5a8767f5c9f8788ecc168913414
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8303d3e9884844a536c50e9d2e1d78797b20ece94300ff011250365dbd60a57adf5079bc851e180132d79a78134ae79823950c87c21fef07aef7c451d187bd0
|
7
|
+
data.tar.gz: c13f8f2befa334101ef230b9473a7a5a2692a82ae697768fd3a141362e2ee86b5748c537f9fb00720a45136073bd146e5d6cca3fe21ece0ede5a0e25fe09003f
|
data/Gemfile.lock
CHANGED
data/lib/experian/http.rb
CHANGED
@@ -1,72 +1,10 @@
|
|
1
1
|
require "base64"
|
2
2
|
require "sha3"
|
3
3
|
|
4
|
+
Faraday::FlatParamsEncoder.sort_params = false
|
5
|
+
|
4
6
|
module Experian
|
5
7
|
module HTTP
|
6
|
-
module FlatParamsEncoder
|
7
|
-
class << self
|
8
|
-
extend Forwardable
|
9
|
-
def_delegators :'Faraday::Utils', :escape, :unescape
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.encode(params)
|
13
|
-
return nil if params == nil
|
14
|
-
|
15
|
-
if !params.is_a?(Array)
|
16
|
-
if !params.respond_to?(:to_hash)
|
17
|
-
raise TypeError,
|
18
|
-
"Can't convert #{params.class} into Hash."
|
19
|
-
end
|
20
|
-
params = params.to_hash
|
21
|
-
params = params.map do |key, value|
|
22
|
-
key = key.to_s if key.kind_of?(Symbol)
|
23
|
-
[key, value]
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# The params have form [['key1', 'value1'], ['key2', 'value2']].
|
28
|
-
buffer = ''
|
29
|
-
params.each do |key, value|
|
30
|
-
encoded_key = escape(key)
|
31
|
-
value = value.to_s if value == true || value == false
|
32
|
-
if value == nil
|
33
|
-
buffer << "#{encoded_key}&"
|
34
|
-
elsif value.kind_of?(Array)
|
35
|
-
value.each do |sub_value|
|
36
|
-
encoded_value = escape(sub_value)
|
37
|
-
buffer << "#{encoded_key}=#{encoded_value}&"
|
38
|
-
end
|
39
|
-
else
|
40
|
-
encoded_value = escape(value)
|
41
|
-
buffer << "#{encoded_key}=#{encoded_value}&"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
return buffer.chop
|
45
|
-
end
|
46
|
-
|
47
|
-
def self.decode(query)
|
48
|
-
empty_accumulator = {}
|
49
|
-
return nil if query == nil
|
50
|
-
split_query = (query.split('&').map do |pair|
|
51
|
-
pair.split('=', 2) if pair && !pair.empty?
|
52
|
-
end).compact
|
53
|
-
return split_query.inject(empty_accumulator.dup) do |accu, pair|
|
54
|
-
pair[0] = unescape(pair[0])
|
55
|
-
pair[1] = true if pair[1].nil?
|
56
|
-
if pair[1].respond_to?(:to_str)
|
57
|
-
pair[1] = unescape(pair[1].to_str.gsub(/\+/, " "))
|
58
|
-
end
|
59
|
-
if accu[pair[0]].kind_of?(Array)
|
60
|
-
accu[pair[0]] << pair[1]
|
61
|
-
elsif accu[pair[0]]
|
62
|
-
accu[pair[0]] = [accu[pair[0]], pair[1]]
|
63
|
-
else
|
64
|
-
accu[pair[0]] = pair[1]
|
65
|
-
end
|
66
|
-
accu
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
8
|
|
71
9
|
def get(path:, format:, **query)
|
72
10
|
tip_formato = {
|
@@ -93,8 +31,7 @@ module Experian
|
|
93
31
|
def conn
|
94
32
|
connection = Faraday.new do |f|
|
95
33
|
f.options[:timeout] = request_timeout
|
96
|
-
f.options[:params_encoder] = FlatParamsEncoder
|
97
|
-
f.use MiddlewareErrors
|
34
|
+
f.options[:params_encoder] = Faraday::FlatParamsEncoder
|
98
35
|
f.response :raise_error
|
99
36
|
end
|
100
37
|
|
data/lib/experian/version.rb
CHANGED
data/lib/experian.rb
CHANGED
@@ -11,22 +11,6 @@ module Experian
|
|
11
11
|
class AuthenticationError < Error; end
|
12
12
|
class ConfigurationError < Error; end
|
13
13
|
|
14
|
-
class MiddlewareErrors < Faraday::Middleware
|
15
|
-
def call(env)
|
16
|
-
@app.call(env)
|
17
|
-
rescue Faraday::Error => e
|
18
|
-
raise e unless e.response.is_a?(Hash)
|
19
|
-
|
20
|
-
logger = Logger.new($stdout)
|
21
|
-
logger.formatter = proc do |_severity, _datetime, _progname, msg|
|
22
|
-
"\033[31mExperian HTTP Error (spotted in ruby-experian #{VERSION}): #{msg}\n\033[0m"
|
23
|
-
end
|
24
|
-
logger.error(e.response[:body])
|
25
|
-
|
26
|
-
raise e
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
14
|
class Configuration
|
31
15
|
attr_writer :user_code, :password, :version, :request_timeout, :base_uri, :extra_headers
|
32
16
|
attr_reader :base_uri, :request_timeout, :version, :extra_headers
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-experian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Mochetti
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|