alki 0.9.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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