finapps 0.21.4.pre → 0.21.5.pre
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/.rspec +1 -0
- data/lib/finapps/utils/logging.rb +12 -6
- data/lib/finapps/version.rb +1 -1
- data/spec/spec_helper.rb +3 -1
- data/spec/utils/logging_spec.rb +32 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0b9ce07fca3ac0bc03a102c38f367b75bb311bf
|
4
|
+
data.tar.gz: a95cc221e07224f71a78b9c2651d7f87f613cea2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04b7aaa69a8684e3be3c2606e9a0067b11fe0a566d26bad9eafecf6c9cd127556b98ade4c38af344b2fb49572a2c94442d366680e7bfab3c03017f47856932c8
|
7
|
+
data.tar.gz: e85ec56cc4b776e9e138a2b8f6b55a5f1969974e3366dcb18c6f50729a18c3ff4e8a2c7a7c99dada8e180cb466a771853efd46c5a6d3616bba5edc9c2e3d9776
|
data/.rspec
CHANGED
@@ -55,7 +55,17 @@ module FinApps
|
|
55
55
|
def skip_sensitive_data(hash)
|
56
56
|
if hash.is_a? Hash
|
57
57
|
filtered_hash = hash.clone
|
58
|
-
filtered_hash.
|
58
|
+
filtered_hash.each do |key, value|
|
59
|
+
if PROTECTED_KEYS.include? key.to_s.downcase
|
60
|
+
filtered_hash[key] = '[REDACTED]'
|
61
|
+
elsif value.is_a?(Hash)
|
62
|
+
filtered_hash[key] = self.skip_sensitive_data(value)
|
63
|
+
elsif value.is_a?(Array)
|
64
|
+
filtered_hash[key] = value.map { |v| v.is_a?(Hash) ? self.skip_sensitive_data(v) : v }
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
filtered_hash
|
59
69
|
else
|
60
70
|
hash
|
61
71
|
end
|
@@ -66,10 +76,6 @@ module FinApps
|
|
66
76
|
time.strftime('%Y-%m-%dT%H:%M:%S.') << '%06d ' % time.usec
|
67
77
|
end
|
68
78
|
|
69
|
-
def filter_sensitive_values(key, v1)
|
70
|
-
(PROTECTED_KEYS.include? key.to_s.downcase) ? '[REDACTED]' : v1
|
71
|
-
end
|
72
|
-
|
73
79
|
def msg2str(msg)
|
74
80
|
case msg
|
75
81
|
when ::String
|
@@ -86,4 +92,4 @@ module FinApps
|
|
86
92
|
end
|
87
93
|
|
88
94
|
end
|
89
|
-
end
|
95
|
+
end
|
data/lib/finapps/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler.setup
|
2
3
|
|
4
|
+
require 'finapps'
|
3
5
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
6
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
5
7
|
# The generated `.rspec` file contains `--require spec_helper` which will cause this
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe FinApps::Logging do
|
4
|
+
|
5
|
+
let(:dummy_class) { Class.new { extend FinApps::Logging } }
|
6
|
+
let(:simple_hash) { {:login => 'login', :password => 'secret'} }
|
7
|
+
let(:deep_hash) { {:parameters => {:login => 'login', :password => 'secret'}} }
|
8
|
+
let(:array_of_hashes) { {:parameters => [{:login => 'login', :password => 'secret'},
|
9
|
+
{:login => 'login', :password => 'secret'}]} }
|
10
|
+
|
11
|
+
it 'should redact protected keys on a simple Hash' do
|
12
|
+
redacted = dummy_class.skip_sensitive_data simple_hash
|
13
|
+
expect(redacted[:password]).to eq('[REDACTED]')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should redact protected keys on a deep Hash' do
|
17
|
+
redacted = dummy_class.skip_sensitive_data deep_hash
|
18
|
+
expect(redacted[:parameters][:password]).to eq('[REDACTED]')
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should redact protected keys on an array of Hashes' do
|
22
|
+
redacted = dummy_class.skip_sensitive_data array_of_hashes
|
23
|
+
expect(redacted[:parameters][0][:password]).to eq('[REDACTED]')
|
24
|
+
expect(redacted[:parameters][1][:password]).to eq('[REDACTED]')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
=begin
|
30
|
+
params : {:parameters => {"LOGIN1" => "MoneyMatch.site16441.1", "PASSWORD1" => "site16441.1"}}
|
31
|
+
params : {:email => "erich@example.com", :password => "[REDACTED]"}
|
32
|
+
=end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finapps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.21.
|
4
|
+
version: 0.21.5.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
@@ -225,6 +225,7 @@ files:
|
|
225
225
|
- lib/finapps/version.rb
|
226
226
|
- spec/rest/client_spec.rb
|
227
227
|
- spec/spec_helper.rb
|
228
|
+
- spec/utils/logging_spec.rb
|
228
229
|
homepage: http://github.com/finapps/finapps-ruby
|
229
230
|
licenses:
|
230
231
|
- MIT
|
@@ -258,3 +259,4 @@ summary: FinApps REST API ruby client.
|
|
258
259
|
test_files:
|
259
260
|
- spec/rest/client_spec.rb
|
260
261
|
- spec/spec_helper.rb
|
262
|
+
- spec/utils/logging_spec.rb
|