alki 0.8.0 → 0.9.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 +4 -4
- data/README.adoc +108 -6
- data/alki.gemspec +2 -2
- data/bin/alki +17 -0
- data/config/dsls.rb +2 -2
- data/doc/assembly_dsl.adoc +6 -6
- data/exe/alki +275 -0
- data/lib/alki/assembly/builder.rb +113 -0
- data/lib/alki/assembly/executor.rb +127 -0
- data/lib/alki/assembly/handler_base.rb +21 -0
- data/lib/alki/assembly/instance.rb +21 -0
- data/lib/alki/assembly/types/assembly.rb +92 -0
- data/lib/alki/assembly/types/factory.rb +29 -0
- data/lib/alki/assembly/types/func.rb +12 -0
- data/lib/alki/assembly/types/group.rb +39 -0
- data/lib/alki/assembly/types/override.rb +40 -0
- data/lib/alki/assembly/types/proc_value.rb +18 -0
- data/lib/alki/assembly/types/service.rb +27 -0
- data/lib/alki/assembly/types/value.rb +9 -0
- data/lib/alki/assembly.rb +21 -40
- data/lib/alki/dsls/assembly.rb +10 -12
- data/lib/alki/dsls/assembly_group.rb +92 -0
- data/lib/alki/dsls/assembly_type.rb +5 -15
- data/lib/alki/execution/cache_entry.rb +16 -0
- data/lib/alki/execution/context.rb +29 -0
- data/lib/alki/execution/context_class_builder.rb +36 -0
- data/lib/alki/execution/value_context.rb +14 -0
- data/lib/alki/overlay_delegator.rb +8 -20
- data/lib/alki/overlay_info.rb +3 -0
- data/lib/alki/override_builder.rb +6 -4
- data/lib/alki/service_delegator.rb +3 -3
- data/lib/alki/version.rb +1 -1
- data/lib/alki.rb +4 -4
- data/test/feature/alki_test.rb +1 -2
- data/test/feature/example_test.rb +2 -3
- data/test/feature/factories_test.rb +48 -0
- data/test/feature/overlays_test.rb +225 -0
- data/test/feature/overrides_test.rb +1 -2
- data/test/feature/pseudo_elements_test.rb +67 -0
- data/test/feature_test_helper.rb +1 -0
- data/test/fixtures/example/config/assembly.rb +11 -2
- data/test/fixtures/example/config/handlers.rb +2 -7
- data/test/fixtures/example/lib/log_overlay.rb +3 -3
- data/test/integration/dsls/assembly_test.rb +3 -8
- data/test/integration/dsls/assembly_type_test.rb +2 -2
- data/test/integration/dsls/service_dsl_test.rb +2 -2
- metadata +36 -18
- data/lib/alki/assembly_builder.rb +0 -109
- data/lib/alki/assembly_executor.rb +0 -129
- data/lib/alki/assembly_handler_base.rb +0 -19
- data/lib/alki/dsls/assembly_type_dsl.rb +0 -21
- data/lib/alki/dsls/assembly_types/assembly.rb +0 -101
- data/lib/alki/dsls/assembly_types/group.rb +0 -41
- data/lib/alki/dsls/assembly_types/load.rb +0 -31
- data/lib/alki/dsls/assembly_types/overlay.rb +0 -9
- data/lib/alki/dsls/assembly_types/value.rb +0 -100
- data/test/test_helper.rb +0 -1
@@ -1,100 +0,0 @@
|
|
1
|
-
Alki do
|
2
|
-
dsl_method :set do |name,value=nil,&blk|
|
3
|
-
if blk
|
4
|
-
add_proc_value name, blk
|
5
|
-
else
|
6
|
-
add_value name, value
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
dsl_method :service do |name,&blk|
|
11
|
-
add_service name, blk
|
12
|
-
end
|
13
|
-
|
14
|
-
dsl_method :factory do |name,&blk|
|
15
|
-
add_factory name, blk
|
16
|
-
end
|
17
|
-
|
18
|
-
dsl_method :func do |name,&blk|
|
19
|
-
add_func name, blk
|
20
|
-
end
|
21
|
-
|
22
|
-
element_type :value do
|
23
|
-
attr :value
|
24
|
-
|
25
|
-
output do
|
26
|
-
{
|
27
|
-
type: :value,
|
28
|
-
block: ->(_) {
|
29
|
-
val = value
|
30
|
-
->{ val }
|
31
|
-
},
|
32
|
-
scope: {}
|
33
|
-
}
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
element_type :proc_value do
|
38
|
-
attr :proc
|
39
|
-
|
40
|
-
output do
|
41
|
-
{
|
42
|
-
type: :value,
|
43
|
-
block: ->(e) {
|
44
|
-
val = e.call proc
|
45
|
-
->{ val }
|
46
|
-
},
|
47
|
-
scope: data[:scope]
|
48
|
-
}
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
element_type :service do
|
53
|
-
attr :block
|
54
|
-
output do
|
55
|
-
last_clear = data[:overlays].rindex(:clear)
|
56
|
-
overlays = last_clear ? data[:overlays][(last_clear + 1)..-1] : data[:overlays]
|
57
|
-
{
|
58
|
-
type: :value,
|
59
|
-
block: -> (evaluator) {
|
60
|
-
svc = evaluator.call block
|
61
|
-
-> { svc }
|
62
|
-
},
|
63
|
-
scope: data[:scope],
|
64
|
-
overlays: overlays
|
65
|
-
}
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
element_type :factory do
|
70
|
-
attr :block
|
71
|
-
output do
|
72
|
-
{
|
73
|
-
type: :value,
|
74
|
-
block: -> (evaluator) {
|
75
|
-
factory = evaluator.call block
|
76
|
-
-> (*args,&blk) {
|
77
|
-
factory.call *args, &blk
|
78
|
-
}
|
79
|
-
},
|
80
|
-
scope: data[:scope]
|
81
|
-
}
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
element_type :func do
|
86
|
-
attr :block
|
87
|
-
output do
|
88
|
-
{
|
89
|
-
type: :value,
|
90
|
-
block: ->(evaluator) {
|
91
|
-
value_blk = block
|
92
|
-
-> (*args,&blk) {
|
93
|
-
evaluator.call(value_blk,*args,&blk)
|
94
|
-
}
|
95
|
-
},
|
96
|
-
scope: data[:scope]
|
97
|
-
}
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require_relative('../lib/alki/test')
|