etcher 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +7 -4
- data/etcher.gemspec +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c9a9da371f697c41f455434c269b2230dc07ae9f9342d009c4f562e4a047a57
|
4
|
+
data.tar.gz: 2daffd0030266da21a1192a1031358f098f3523852e0857a9195009d18598b5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 968e58e3c5f1fa21ae898d6d71fb3fca3134b368a6bdb85eaa397ca92d19e7de255ec1ae0bb8f31710d53163defeaace018b93eb52b41ac25ed47d6af9e35f1a
|
7
|
+
data.tar.gz: 99eea4d38800458cd1d674e250c09764bde7e32a34cf27eaeb33b640b3650346b9ddcb7687f6800553eca891ac209e29c33f5b71b6331abb56a8ce01b7f49371
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
:hash_link: link:https://rubyapi.org/o/hash[Hash]
|
15
15
|
:json_link: link:https://rubyapi.org/o/json[JSON]
|
16
16
|
:runcom_link: link:https://alchemists.io/projects/runcom[Runcom]
|
17
|
+
:sod_link: link:https://alchemists.io/projects/sod[Sod]
|
17
18
|
:struct_link: link:https://alchemists.io/articles/ruby_structs[Struct]
|
18
19
|
:transactable_link: link:https://alchemists.io/projects/transactable[Transactable]
|
19
20
|
:xdg_link: link:https://alchemists.io/projects/xdg[XDG]
|
@@ -27,7 +28,7 @@ ____
|
|
27
28
|
[Use] strong acid or mordant to cut into the unprotected parts of a metal surface to create a design in intaglio (incised) in the metal.
|
28
29
|
____
|
29
30
|
|
30
|
-
By using Etcher, you have a reliable way to load default configurations (i.e. {environment_link}, {json_link}, {yaml_link}) which can be validated and turned into records (i.e. {hash_link}, {data_link}, {struct_link}) for consumption within your application. In other words, the ability to take primitive hashes and _etch_ them into a _frozen_ record with a nice interface that doesn't violate the {demeter_link}. This comes complete with transformations and validations all via a simple Object API. Finally, this pairs well with the {xdg_link}
|
31
|
+
By using Etcher, you have a reliable way to load default configurations (i.e. {environment_link}, {json_link}, {yaml_link}) which can be validated and turned into records (i.e. {hash_link}, {data_link}, {struct_link}) for consumption within your application. In other words, the ability to take primitive hashes and _etch_ them into a _frozen_ record with a nice interface that doesn't violate the {demeter_link}. This comes complete with transformations and validations all via a simple Object API. Finally, this pairs well with the {xdg_link}, {runcom_link}, and {sod_link} gems.
|
31
32
|
|
32
33
|
toc::[]
|
33
34
|
|
@@ -37,7 +38,7 @@ toc::[]
|
|
37
38
|
* Supports models which respond to `.[]` for consuming a splatted {hash_link} to instantiate new records. This pairs well with primitives such as: {hash_link}, {data_link}, and {struct_link}.
|
38
39
|
* Supports loading of default configurations from the {environment_link}, a {json_link} configuration, a {yaml_link} configuration, or anything that can answer a hash.
|
39
40
|
* Supports multiple transformations which can process loaded configuration hashes and answer a transformed hash.
|
40
|
-
* Supports {hash_link} overrides as a final customization which is handy for Command Line Interfaces (CLIs) or anything that might require user input at runtime.
|
41
|
+
* Supports {hash_link} overrides as a final customization which is handy for Command Line Interfaces (CLIs), as aided by {sod_link}, or anything that might require user input at runtime.
|
41
42
|
|
42
43
|
== Requirements
|
43
44
|
|
@@ -87,7 +88,9 @@ etcher.call({one: 1, two: 2})
|
|
87
88
|
# Success({:one=>1, :two=>2})
|
88
89
|
----
|
89
90
|
|
90
|
-
Notice you get a monad -- either a `Success` or `Failure` -- as provided by the {dry_monads_link} gem. This allows you to create more sophisticated pipelines as found with the {transactable_link} gem or any kind of failsafe workflow you might need.
|
91
|
+
Notice you get a monad -- either a `Success` or `Failure` -- as provided by the {dry_monads_link} gem. This allows you to create more sophisticated pipelines as found with the {transactable_link} gem or any kind of failsafe workflow you might need.
|
92
|
+
|
93
|
+
By default, any attributes you message the instance with will only pass through what you gave it and always answer a `Success`. This is nice for initial experimentation but true power comes with full customization of the instance. Here's an advanced configuration showing all features:
|
91
94
|
|
92
95
|
[source,ruby]
|
93
96
|
----
|
@@ -258,7 +261,7 @@ There are a few guidelines to using them:
|
|
258
261
|
* They must respond to `#call` with no arguments.
|
259
262
|
* All keys are symbolized which helps streamline merging and overriding values from the same keys across multiple configurations.
|
260
263
|
* All nested keys will be flattened after being loaded. This means a key structure of `{demo: {one: "test"}}` will be flattened to `demo_one: "test"` which adheres to the {demeter_link} when a new recored is _etched_ for you.
|
261
|
-
* The order in which you define your loaders matters. This means the first loader defined will be processed first, then the second, and so forth. Loaders defined last take precedence over
|
264
|
+
* The order in which you define your loaders matters. This means the first loader defined will be processed first, then the second, and so forth. Loaders defined last take precedence over previously defined loaders when overriding the same keys.
|
262
265
|
|
263
266
|
The next couple of sections will help you learn about the supported loaders and how to build your own custom loader.
|
264
267
|
|
data/etcher.gemspec
CHANGED
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.2.
|
4
|
+
version: 0.2.1
|
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-06-
|
38
|
+
date: 2023-06-19 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: cogger
|
metadata.gz.sig
CHANGED
Binary file
|