etcher 4.2.0 → 4.3.0

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
  SHA256:
3
- metadata.gz: 2f0604dcbe56ccd26ffc05fbffb588b0e645101e30defed34e947b540895cd1c
4
- data.tar.gz: fd032124a40def36d0470f768ef7459bd4351d862d7f8d574ed926c36380f058
3
+ metadata.gz: 996db9f0fb417ee0d2dc5a4c1c7151224a94b3fd0ca997f2a10de67bb828fa17
4
+ data.tar.gz: 067be954fb1768bcca121289255958f008d86f5c98419c53057bbb723ce7cf32
5
5
  SHA512:
6
- metadata.gz: 8e19443899d8ab5bcd336a8f08ba608848075fbc8b2c36ed7f812d8f44ec7d78777d06b419045779b845a1ff3fcb124e2888dd719c745a4466c0a3bafb6b784e
7
- data.tar.gz: 880a402d2b35789bb12cc1292f5b2ad55c3b9c730aeb3d8c2baf065f4cac8c06136ae862c859840bb3c8529534d9db2f3f8a475931b4d517239fa28d94272954
6
+ metadata.gz: bad1403212721d1757b4525c00be047f6f7b0bee5315177b7b4df0f1ff9983fe72947d9dce3054143b30a6b1a3bfef1da7dd7c2058ee66141e91f5e9d77eb6c5
7
+ data.tar.gz: df1a2d32c34da00e4d46e62a396ebd49b93cd8639052ecb7651190929711083665daa7e7bc4f5daccfb9e3d5b844a833df111364ac3cd2a8669f10b30d829b8f
checksums.yaml.gz.sig CHANGED
Binary file
data/etcher.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "etcher"
5
- spec.version = "4.2.0"
5
+ spec.version = "4.3.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/etcher"
@@ -24,13 +24,13 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.required_ruby_version = ">= 4.0"
26
26
 
27
- spec.add_dependency "cogger", "~> 2.0"
27
+ spec.add_dependency "cogger", "~> 2.3"
28
28
  spec.add_dependency "core", "~> 3.0"
29
29
  spec.add_dependency "dry-monads", "~> 1.9"
30
30
  spec.add_dependency "dry-types", "~> 1.9"
31
31
  spec.add_dependency "refinements", "~> 14.0"
32
- spec.add_dependency "versionaire", "~> 15.0"
33
- spec.add_dependency "zeitwerk", "~> 2.7"
32
+ spec.add_dependency "versionaire", "~> 15.3"
33
+ spec.add_dependency "zeitwerk", "~> 2.8"
34
34
 
35
35
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
36
36
  spec.files = Dir["*.gemspec", "lib/**/*"]
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "dry/monads"
4
4
  require "refinements/array"
5
+ require "refinements/hash"
5
6
 
6
7
  module Etcher
7
8
  # Builds and fully resolves a configuration.
@@ -9,6 +10,19 @@ module Etcher
9
10
  include Dry::Monads[:result]
10
11
 
11
12
  using Refinements::Array
13
+ using Refinements::Hash
14
+
15
+ def self.flatten errors, lines = []
16
+ errors.each do |key, value|
17
+ if value.is_a? Hash
18
+ flatten value.flatten_keys(prefix: key, delimiter: "."), lines
19
+ else
20
+ lines.append " - #{key} #{value.to_sentence}\n"
21
+ end
22
+ end
23
+
24
+ lines
25
+ end
12
26
 
13
27
  def initialize registry = Registry.new, logger: LOGGER
14
28
  @builder = Builder.new registry
@@ -33,11 +47,10 @@ module Etcher
33
47
  attr_reader :builder, :logger
34
48
 
35
49
  def log_and_abort step, constant, errors
36
- details = errors.map { |key, message| " - #{key} #{message.to_sentence}\n" }
37
- .join
50
+ lines = self.class.flatten errors
38
51
 
39
52
  logger.abort "#{step.capitalize} failure (#{constant}). " \
40
- "Unable to load configuration:\n#{details}"
53
+ "Unable to load configuration:\n#{lines.join}"
41
54
  end
42
55
  end
43
56
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -41,14 +41,14 @@ dependencies:
41
41
  requirements:
42
42
  - - "~>"
43
43
  - !ruby/object:Gem::Version
44
- version: '2.0'
44
+ version: '2.3'
45
45
  type: :runtime
46
46
  prerelease: false
47
47
  version_requirements: !ruby/object:Gem::Requirement
48
48
  requirements:
49
49
  - - "~>"
50
50
  - !ruby/object:Gem::Version
51
- version: '2.0'
51
+ version: '2.3'
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: core
54
54
  requirement: !ruby/object:Gem::Requirement
@@ -111,28 +111,28 @@ dependencies:
111
111
  requirements:
112
112
  - - "~>"
113
113
  - !ruby/object:Gem::Version
114
- version: '15.0'
114
+ version: '15.3'
115
115
  type: :runtime
116
116
  prerelease: false
117
117
  version_requirements: !ruby/object:Gem::Requirement
118
118
  requirements:
119
119
  - - "~>"
120
120
  - !ruby/object:Gem::Version
121
- version: '15.0'
121
+ version: '15.3'
122
122
  - !ruby/object:Gem::Dependency
123
123
  name: zeitwerk
124
124
  requirement: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - "~>"
127
127
  - !ruby/object:Gem::Version
128
- version: '2.7'
128
+ version: '2.8'
129
129
  type: :runtime
130
130
  prerelease: false
131
131
  version_requirements: !ruby/object:Gem::Requirement
132
132
  requirements:
133
133
  - - "~>"
134
134
  - !ruby/object:Gem::Version
135
- version: '2.7'
135
+ version: '2.8'
136
136
  email:
137
137
  - brooke@alchemists.io
138
138
  executables: []
@@ -184,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  - !ruby/object:Gem::Version
185
185
  version: '0'
186
186
  requirements: []
187
- rubygems_version: 4.0.10
187
+ rubygems_version: 4.0.12
188
188
  specification_version: 4
189
189
  summary: A monadic configuration loader, transformer, and validator.
190
190
  test_files: []
metadata.gz.sig CHANGED
Binary file