dry-stack 0.1.56 → 0.1.58
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 +4 -4
- data/lib/dry-stack/stack.rb +20 -4
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 55e705e011ccdd04e4d6cdcbf6f1b2603f0a066aff0e4a2be2583ee1020228c7
|
|
4
|
+
data.tar.gz: cbdf097acee8792275a8f61c6886776ac646ccd8273213b941a7b452a8e59c8e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5e2de4565d013a07a0ee3dab166137de847c6ac836927f8e638ae4a2d1831601cc730febe907360e9d81c216ecf59373da69d8867dd648b6091c563ec64bcb19
|
|
7
|
+
data.tar.gz: 9619e3a2696f14a461dac50ca12e8afbb2be62e94f686933b9aedf5bb883cbbeab28e56b5318f1fa00c2cbbf88b4f558dccc2fd586d577e786ad3bfd3e7ce0d7
|
data/lib/dry-stack/stack.rb
CHANGED
|
@@ -17,6 +17,8 @@ module Dry
|
|
|
17
17
|
EMPTY_HASH = :empty_hash
|
|
18
18
|
DEFAULT_INIT_SERVICE = true # add "init: true" option
|
|
19
19
|
|
|
20
|
+
def ENV! = ENV.method(:fetch)
|
|
21
|
+
|
|
20
22
|
class ::Hash
|
|
21
23
|
def deep_merge!(second)
|
|
22
24
|
merger = proc { |_, v1, v2|
|
|
@@ -101,6 +103,7 @@ module Dry
|
|
|
101
103
|
attr_accessor :name, :options, :description, :configuration
|
|
102
104
|
|
|
103
105
|
def Stack(...) = Dry::Stack(...)
|
|
106
|
+
def ENV! = ENV.method(:fetch)
|
|
104
107
|
|
|
105
108
|
# def self.new(*args, &block)
|
|
106
109
|
# super
|
|
@@ -415,18 +418,31 @@ module Dry
|
|
|
415
418
|
(@after_blocks ||=[]) << block
|
|
416
419
|
end
|
|
417
420
|
|
|
421
|
+
def normalize_service_hook_args(name, opts)
|
|
422
|
+
if name.is_a?(Hash) && opts.empty?
|
|
423
|
+
opts = name
|
|
424
|
+
name = nil
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
opts = opts.dup
|
|
428
|
+
except = [opts.delete(:except)].flatten.compact
|
|
429
|
+
[[name].flatten.compact, opts, except]
|
|
430
|
+
end
|
|
431
|
+
|
|
418
432
|
def BeforeService(name = nil, opts = {}, &block)
|
|
419
|
-
|
|
433
|
+
names, opts, except = normalize_service_hook_args(name, opts)
|
|
434
|
+
(@before_blocks ||=[]).push names:, except:,
|
|
420
435
|
block: ->(s_name) {
|
|
421
436
|
_ServiceImplementation s_name, opts, &block
|
|
422
437
|
}
|
|
423
438
|
end
|
|
424
439
|
|
|
425
440
|
def AfterService(name = nil, opts = {}, &block)
|
|
441
|
+
names, opts, except = normalize_service_hook_args(name, opts)
|
|
426
442
|
After do
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
443
|
+
hook_names = names.empty? ? @services.keys : names
|
|
444
|
+
hook_names -= except
|
|
445
|
+
hook_names.each do |s_name|
|
|
430
446
|
_ServiceImplementation s_name, opts, &block
|
|
431
447
|
end
|
|
432
448
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dry-stack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.58
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Artyom B
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-05-
|
|
11
|
+
date: 2026-05-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|