etcher 0.5.1 → 1.1.0

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
  SHA256:
3
- metadata.gz: 615391ea536641b09328da2833beed96bf3abfa040e3ccca527179341d5b2a62
4
- data.tar.gz: 909e10710c9215410f489b1c3b14559e7f52f3f4e5ebf3921492dcbeb8f14ace
3
+ metadata.gz: ea52520478e3119853467a893cab25be351334b56edafa953300669f49e7c26e
4
+ data.tar.gz: 966eb206c4c35348f110cf0dc6d0f8e90c1dec47b5a412470e91b0bbd3a3c970
5
5
  SHA512:
6
- metadata.gz: 60487ef4df376ea3b28324ee7be3a5e08837e30a42325123e7b636ed70561ab5c7ffc05ae794397a2f7399d7b66b3938a5aca19c014fc67bce447e8f3eb79fb3
7
- data.tar.gz: 0a86e698512a7f588f08120355a40e3f12acfc884aae920e26dd7610a51ed7d61453b62a8d370df889071cd6e4682cf445bb6bff2b7551da65925712bddabfd8
6
+ metadata.gz: 2d6c68d5be753984672d5aca7a39e55040aa70959c235b1f7bec22b7609407ebbd9147e1674cb36b4b7b64097450afccb7685ac4066987c2ad054bb10c8cad13
7
+ data.tar.gz: f213f8c18ff759a90aaea96370f5a8ff73917cbc01d830f2c91d1f10b2bda15141d1349ab832c22abe68ecb18ede4674a67467ec30a5b69b1c33eb0590344ae4
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -134,13 +134,11 @@ While this is a more advanced use case, you'll usually only need to register a c
134
134
  As hinted at above, the complete sequence of steps are performed in the order listed:
135
135
 
136
136
  . *Load*: Each loader, if any, is called and merged with the previous loader to build initial content.
137
- . *Override*: Any overrides are merged with the result of the last loader to produce updated content.
137
+ . *Override*: Any overrides are merged with the result of the last loader to produce updated content. _In Version 2.0.0, this step happen after the Transform step._
138
138
  . *Transform*: Each transformer, if any, is called to transform and manipulate the content.
139
139
  . *Validate*: The contract is called to validate the content as previously loaded, overwritten, and transformed.
140
140
  . *Model*: The model consumes the content of the validated contract and creates a new record for you to use as needed.
141
141
 
142
- 💡 The _override_ step comes after the _load_ step and before the _transform_ step because this gives you maximum flexibility to override any loaded/overwritten attributes while allowing you to transform any/all attributes based on whether they exist or not.
143
-
144
142
  You can use the above steps as a reference when using this gem. Each step is explained in greater detail below.
145
143
 
146
144
  === Registry
@@ -507,6 +505,8 @@ etcher.call name: "test", label: "Test"
507
505
 
508
506
  Overrides are applied _after_ any loaders are processed and _before_ any transformations. They are a nice way to deal with user input during runtime or provide any additional configuration not supplied by the loading of your default configuration while still allowing you to transform them if desired.
509
507
 
508
+ ⚠️ In Version 2.0.0, this step will be changed to occur _after_ the Transform step for maximum flexibility.
509
+
510
510
  === Resolver
511
511
 
512
512
  In situations where you'd like Etcher to handle the complete load, transform, validate, and build steps for you, then you can use the resolver. This is provided for use cases where you'd like Etcher to handle everything for you and abort if otherwise. Example:
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 = "0.5.1"
5
+ spec.version = "1.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/etcher"
@@ -22,13 +22,13 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = [">= 3.2", "<= 3.3"]
26
- spec.add_dependency "cogger", "~> 0.12"
27
- spec.add_dependency "core", "~> 0.1"
25
+ spec.required_ruby_version = "~> 3.3"
26
+ spec.add_dependency "cogger", "~> 0.15"
27
+ spec.add_dependency "core", "~> 1.0"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "dry-types", "~> 1.7"
30
- spec.add_dependency "refinements", "~> 11.0"
31
- spec.add_dependency "versionaire", "~> 12.1"
30
+ spec.add_dependency "refinements", "~> 12.0"
31
+ spec.add_dependency "versionaire", "~> 13.0"
32
32
  spec.add_dependency "zeitwerk", "~> 2.6"
33
33
 
34
34
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
@@ -2,14 +2,14 @@
2
2
 
3
3
  require "core"
4
4
  require "dry/monads"
5
- require "refinements/hashes"
5
+ require "refinements/hash"
6
6
 
7
7
  module Etcher
8
8
  # Builds a configuration.
9
9
  class Builder
10
10
  include Dry::Monads[:result]
11
11
 
12
- using Refinements::Hashes
12
+ using Refinements::Hash
13
13
 
14
14
  def initialize registry = Registry.new
15
15
  @registry = registry
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "refinements/arrays"
4
+ require "refinements/array"
5
5
 
6
6
  module Etcher
7
7
  # Builds and fully resolves a configuration.
8
8
  class Resolver
9
9
  include Dry::Monads[:result]
10
10
 
11
- using Refinements::Arrays
11
+ using Refinements::Array
12
12
 
13
13
  def initialize registry = Registry.new, kernel: Kernel, logger: LOGGER
14
14
  @builder = Builder.new registry
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: 0.5.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-11-16 00:00:00.000000000 Z
38
+ date: 2024-02-20 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -43,28 +43,28 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.12'
46
+ version: '0.15'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.12'
53
+ version: '0.15'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: core
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.1'
60
+ version: '1.0'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.1'
67
+ version: '1.0'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: dry-monads
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -99,28 +99,28 @@ dependencies:
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '11.0'
102
+ version: '12.0'
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '11.0'
109
+ version: '12.0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: versionaire
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '12.1'
116
+ version: '13.0'
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '12.1'
123
+ version: '13.0'
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: zeitwerk
126
126
  requirement: !ruby/object:Gem::Requirement
@@ -173,10 +173,7 @@ require_paths:
173
173
  - lib
174
174
  required_ruby_version: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: '3.2'
179
- - - "<="
176
+ - - "~>"
180
177
  - !ruby/object:Gem::Version
181
178
  version: '3.3'
182
179
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -185,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
182
  - !ruby/object:Gem::Version
186
183
  version: '0'
187
184
  requirements: []
188
- rubygems_version: 3.4.22
185
+ rubygems_version: 3.5.6
189
186
  signing_key:
190
187
  specification_version: 4
191
188
  summary: A monadic configuration loader, transformer, and validator.
metadata.gz.sig CHANGED
Binary file