alki 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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')
|