finapps 0.21.4.pre → 0.21.5.pre
Sign up to get free protection for your applications and to get access to all the features.
- 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
|