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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f72d59941b3f324b751f393548af22a421d546c1
4
- data.tar.gz: 2980215ae44453154d5c360bd781e672999bc8a8
3
+ metadata.gz: e0b9ce07fca3ac0bc03a102c38f367b75bb311bf
4
+ data.tar.gz: a95cc221e07224f71a78b9c2651d7f87f613cea2
5
5
  SHA512:
6
- metadata.gz: b6818c7caf9cd4b0018919523139fad1c6c82719c5e3c6ba5650cbc3fc36ce5ed1447112f4db8278c49263dcf5fd82132d64d8972d266c7d723517fa58381fe4
7
- data.tar.gz: 7d611924d13c99794ab34113af68a56f55fed2dab9d54c56869bbe955bd772b298dd3454693ec0b4e712a6a6f11fcd35bf2632975f56b94e8e939cd1da31a455
6
+ metadata.gz: 04b7aaa69a8684e3be3c2606e9a0067b11fe0a566d26bad9eafecf6c9cd127556b98ade4c38af344b2fb49572a2c94442d366680e7bfab3c03017f47856932c8
7
+ data.tar.gz: e85ec56cc4b776e9e138a2b8f6b55a5f1969974e3366dcb18c6f50729a18c3ff4e8a2c7a7c99dada8e180cb466a771853efd46c5a6d3616bba5edc9c2e3d9776
data/.rspec CHANGED
@@ -1,3 +1,4 @@
1
1
  --color
2
+ --format documentation
2
3
  --warnings
3
4
  --require spec_helper
@@ -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.update(filtered_hash) { |key, v1| filter_sensitive_values(key, v1) }
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
@@ -1,3 +1,3 @@
1
1
  module FinApps
2
- VERSION = '0.21.4.pre'
2
+ VERSION = '0.21.5.pre'
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,7 @@
1
- require 'finapps'
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.pre
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