nuclear_secrets 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4dd76875fe74fffcbc470049619b65182ea50625
4
- data.tar.gz: 11c2e408eaa6de7be7ee6b2a15036ccab19334fd
3
+ metadata.gz: e6a75e07cb6e5b5b88c35d71f944fdbfaea49706
4
+ data.tar.gz: faee6c06220273a8e383b50cf2fdeaa5efb31b73
5
5
  SHA512:
6
- metadata.gz: 53c101780a0d2b3d3e1a12aa982b7a47abe13b00bdfd5a5de88461d3ab13397b899d853ea6e0fea7fee91b9c1dec8043fc363b0c7293f30b578bfb8020472bc7
7
- data.tar.gz: 0ee7fead105f4bee046a2b637cd0698034fccc9912cdbe8a3738a1c703bf49726f0a7b3abc23d747f17dc68ae3682c028f1f88422e8121085f229ddad78c52bf
6
+ metadata.gz: f3ca62d9a313ba5ca99cc0d835d8759edc041db754b36499cf1c6956e02b59465fafbb311d2261094b4e4665d59449b0152bed18d8b3491d8485adceb5931b4e
7
+ data.tar.gz: 909a8bb35d5c566b7835092791347d9492242af5ff93d5466f2ece66080844d63bcadeca331b82e0a56f607749607e675d610bbb862304a5f746af987dd470a1
@@ -51,15 +51,17 @@ module NuclearSecrets
51
51
  [
52
52
  build_secret_tuple(secrets, required_secrets, key),
53
53
  ],
54
- )
54
+ ) if @settings[:raise_on_extra_secrets] == true
55
55
  end
56
- end
56
+ end.compact
57
57
  end
58
58
 
59
59
  def check_assertions(secrets, assertions)
60
60
  secrets.to_a.zip(assertions).select do |pair|
61
- result = pair.last.call(pair.first[1])
62
- if !result
61
+ result = if pair.last.present?
62
+ pair.last.call(pair.first[1])
63
+ end
64
+ if !result && @settings[:raise_on_extra_secrets] == true
63
65
  pair.first[0]
64
66
  else
65
67
  false
@@ -70,8 +72,15 @@ module NuclearSecrets
70
72
  end
71
73
  end
72
74
 
73
- def check_secrets(secrets)
75
+ def handle_extra_keys(extra_keys, extra_pairs)
76
+ raise ExtraSecretsError.new(extra_pairs) unless extra_keys.empty?
77
+ rescue ExtraSecretsError => e
74
78
  logger = Logger.new(STDOUT)
79
+ logger.warn e.message
80
+ raise e if @settings[:raise_on_extra_secrets] == true
81
+ end
82
+
83
+ def check_secrets(secrets)
75
84
  init_settings
76
85
  raise NuclearSecrets::RequiredSecretsListMissing if required_secrets.nil?
77
86
  req_keys = required_secrets.keys
@@ -83,14 +92,11 @@ module NuclearSecrets
83
92
  missing_pairs = build_pairs(missing_keys, secrets)
84
93
  extra_pairs = build_pairs(extra_keys, secrets)
85
94
  raise SecretsMissingError.new(missing_pairs) unless missing_keys.empty?
86
- raise ExtraSecretsError.new(extra_pairs) unless extra_keys.empty?
95
+ handle_extra_keys(extra_keys, extra_pairs)
87
96
 
88
97
  assertions = build_assertions(secrets, existing_keys)
89
98
  error_pairs = check_assertions(secrets, assertions)
90
99
  raise MismatchedSecretType.new(error_pairs) if !error_pairs.empty?
91
- rescue ExtraSecretsError => e
92
- logger.warn e.message
93
- raise e if @settings[:raise_on_extra_secrets] == true
94
100
  end
95
101
  end
96
102
  end
@@ -1,3 +1,3 @@
1
1
  module NuclearSecrets
2
- VERSION = "1.0.4".freeze
2
+ VERSION = "1.0.5".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nuclear_secrets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Atomic Jolt
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-04-03 00:00:00.000000000 Z
12
+ date: 2018-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails