alki 0.9.1 → 0.10.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +8 -88
  3. data/alki.gemspec +2 -2
  4. data/exe/alki +2 -1
  5. data/lib/alki/assembly/builder.rb +29 -23
  6. data/lib/alki/assembly/executor.rb +57 -31
  7. data/lib/alki/assembly/{handler_base.rb → handler.rb} +1 -1
  8. data/lib/alki/assembly/instance.rb +9 -2
  9. data/lib/alki/assembly/type.rb +19 -0
  10. data/lib/alki/assembly/types/assembly.rb +1 -0
  11. data/lib/alki/assembly/types/factory.rb +2 -2
  12. data/lib/alki/assembly/types/func.rb +2 -2
  13. data/lib/alki/assembly/types/group.rb +19 -3
  14. data/lib/alki/assembly/types/override.rb +0 -7
  15. data/lib/alki/assembly/types/proc_value.rb +2 -2
  16. data/lib/alki/assembly/types/service.rb +24 -13
  17. data/lib/alki/assembly.rb +7 -6
  18. data/lib/alki/dsls/assembly.rb +3 -4
  19. data/lib/alki/dsls/assembly_group.rb +47 -26
  20. data/lib/alki/dsls/assembly_type.rb +4 -14
  21. data/lib/alki/execution/context.rb +17 -20
  22. data/lib/alki/execution/context_class_builder.rb +16 -2
  23. data/lib/alki/execution/helpers.rb +29 -0
  24. data/lib/alki/execution/reference.rb +18 -0
  25. data/lib/alki/execution/value_helpers.rb +14 -0
  26. data/lib/alki/overlay_info.rb +1 -1
  27. data/lib/alki/override_builder.rb +3 -3
  28. data/lib/alki/version.rb +1 -1
  29. data/lib/alki_loader.rb +2 -0
  30. data/test/feature/alki_test.rb +3 -5
  31. data/test/feature/example_test.rb +1 -4
  32. data/test/feature/overlays_test.rb +34 -0
  33. data/test/feature/pseudo_elements_test.rb +1 -1
  34. data/test/feature/reference_overlays_test.rb +24 -0
  35. data/test/feature/tags_test.rb +77 -0
  36. data/test/feature_test_helper.rb +34 -0
  37. data/test/integration/dsls/assembly_test.rb +2 -2
  38. data/test/integration/dsls/assembly_type_test.rb +1 -1
  39. data/test/integration/dsls/service_dsl_test.rb +1 -1
  40. metadata +16 -16
  41. data/config/dsls.rb +0 -4
  42. data/lib/alki/execution/value_context.rb +0 -23
  43. data/lib/alki/reloadable_delegator.rb +0 -17
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Edlefsen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-20 00:00:00.000000000 Z
11
+ date: 2016-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -64,34 +64,28 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.3'
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 0.3.3
67
+ version: '0.4'
71
68
  type: :runtime
72
69
  prerelease: false
73
70
  version_requirements: !ruby/object:Gem::Requirement
74
71
  requirements:
75
72
  - - "~>"
76
73
  - !ruby/object:Gem::Version
77
- version: '0.3'
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 0.3.3
74
+ version: '0.4'
81
75
  - !ruby/object:Gem::Dependency
82
76
  name: alki-support
83
77
  requirement: !ruby/object:Gem::Requirement
84
78
  requirements:
85
79
  - - "~>"
86
80
  - !ruby/object:Gem::Version
87
- version: '0.6'
81
+ version: '0.7'
88
82
  type: :runtime
89
83
  prerelease: false
90
84
  version_requirements: !ruby/object:Gem::Requirement
91
85
  requirements:
92
86
  - - "~>"
93
87
  - !ruby/object:Gem::Version
94
- version: '0.6'
88
+ version: '0.7'
95
89
  description: Base library for building applications. Provides tools for organizing
96
90
  and connecting application units.
97
91
  email:
@@ -108,7 +102,6 @@ files:
108
102
  - Rakefile
109
103
  - alki.gemspec
110
104
  - bin/alki
111
- - config/dsls.rb
112
105
  - doc/assemblies.adoc
113
106
  - doc/assembly_dsl.adoc
114
107
  - doc/index.adoc
@@ -118,8 +111,9 @@ files:
118
111
  - lib/alki/assembly.rb
119
112
  - lib/alki/assembly/builder.rb
120
113
  - lib/alki/assembly/executor.rb
121
- - lib/alki/assembly/handler_base.rb
114
+ - lib/alki/assembly/handler.rb
122
115
  - lib/alki/assembly/instance.rb
116
+ - lib/alki/assembly/type.rb
123
117
  - lib/alki/assembly/types/assembly.rb
124
118
  - lib/alki/assembly/types/factory.rb
125
119
  - lib/alki/assembly/types/func.rb
@@ -136,22 +130,26 @@ files:
136
130
  - lib/alki/execution/cache_entry.rb
137
131
  - lib/alki/execution/context.rb
138
132
  - lib/alki/execution/context_class_builder.rb
139
- - lib/alki/execution/value_context.rb
133
+ - lib/alki/execution/helpers.rb
134
+ - lib/alki/execution/reference.rb
135
+ - lib/alki/execution/value_helpers.rb
140
136
  - lib/alki/feature_test.rb
141
137
  - lib/alki/generator.rb
142
138
  - lib/alki/overlay_delegator.rb
143
139
  - lib/alki/overlay_info.rb
144
140
  - lib/alki/override_builder.rb
145
- - lib/alki/reloadable_delegator.rb
146
141
  - lib/alki/service_delegator.rb
147
142
  - lib/alki/test.rb
148
143
  - lib/alki/version.rb
144
+ - lib/alki_loader.rb
149
145
  - test/feature/alki_test.rb
150
146
  - test/feature/example_test.rb
151
147
  - test/feature/factories_test.rb
152
148
  - test/feature/overlays_test.rb
153
149
  - test/feature/overrides_test.rb
154
150
  - test/feature/pseudo_elements_test.rb
151
+ - test/feature/reference_overlays_test.rb
152
+ - test/feature/tags_test.rb
155
153
  - test/feature_test_helper.rb
156
154
  - test/fixtures/example/config/assembly.rb
157
155
  - test/fixtures/example/config/handlers.rb
@@ -199,6 +197,8 @@ test_files:
199
197
  - test/feature/overlays_test.rb
200
198
  - test/feature/overrides_test.rb
201
199
  - test/feature/pseudo_elements_test.rb
200
+ - test/feature/reference_overlays_test.rb
201
+ - test/feature/tags_test.rb
202
202
  - test/feature_test_helper.rb
203
203
  - test/fixtures/example/config/assembly.rb
204
204
  - test/fixtures/example/config/handlers.rb
data/config/dsls.rb DELETED
@@ -1,4 +0,0 @@
1
- Alki do
2
- register_lib_dir 'alki/assembly/types', 'alki/dsls/assembly_type'
3
- register_lib_dir 'alki/dsls', 'alki/dsls/dsl'
4
- end
@@ -1,23 +0,0 @@
1
- require 'alki/execution/context'
2
- require 'alki/overlay_delegator'
3
- require 'alki/reloadable_delegator'
4
-
5
- module Alki
6
- module Execution
7
- module ValueContext
8
- include Context
9
-
10
- def delegate_overlay(obj,overlay,**args)
11
- Alki::OverlayDelegator.new(obj,overlay,args)
12
- end
13
-
14
- def entrypoint(klass,*args, reloadable: false)
15
- klass.new *args.map {|a| reloadable ? self.reloadable(a) : lookup(a) }
16
- end
17
-
18
- def reloadable(path)
19
- Alki::ReloadableDelegator.new(root.assembly_instance,meta[:building],path)
20
- end
21
- end
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- require 'delegate'
2
-
3
- module Alki
4
- class ReloadableDelegator < Delegator
5
- def initialize(instance,from,path)
6
- @instance = instance
7
- @from = from.to_s.split('.').map(&:to_sym)
8
- @path = path.to_s.split('.').map(&:to_sym)
9
- end
10
-
11
- def __getobj__
12
- @instance.assembly_executor.call(
13
- @instance.assembly_executor.canonical_path(@from,@path)
14
- )
15
- end
16
- end
17
- end