ruby-experian 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|