nuclear_secrets 1.0.4 → 1.0.5

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: 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