alki 0.12.1 → 0.13.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3e661fb5cb33a76f94430ca79d62dae03fb2527
4
- data.tar.gz: 4c288022884681ff99906ac0787cc4c82bb25c1d
3
+ metadata.gz: 86b3c33eb9fbe55a5ed070f96148396c637b5fbb
4
+ data.tar.gz: 2a917840ba25b11141b89afbb64facc3472028c5
5
5
  SHA512:
6
- metadata.gz: c3c44874d4ce17e340d25224b8c5131bc00d4f9595bd09bdf85f22aab2d296a493d1cee68e5f97ffa7794c2e8859bb6bb7cfb18e40c8af5727ecc6777982ba69
7
- data.tar.gz: f86c11fed68fb98600efb661fb6c1c255212690e18f42bf7fa2bef59df220c5f469d9d2a461a94f7e59c765b0473e605ee7abcd95d6fbbe86758d9a399fdc239
6
+ metadata.gz: 85abda997dc2d9f53889c0de62c83c02785342e516b1869644d34540ef24e11ab5e333853ccd884a60c58264dd76f97f5e223077258740699363df3924ad2869
7
+ data.tar.gz: 05e05fe8cb0f7d1199b8d51a172a679529ad96ad5c530a7c850a66bb06130e46320f8cc2cb3fe9a6e121797dcd799fd3b287efa7a5d38401c27ffd0cfdd40723
@@ -7,9 +7,9 @@ Some high level features:
7
7
 
8
8
  * Easily manage objects and dependencies
9
9
  * Enables writing reusable and testable code
10
- * Developer console (built on pry)
11
- * Automatic code reloading on changes in development
12
- * Powerful DSL toolkit
10
+ * https://github.com/alki-project/alki-console[Developer console] (built on pry)
11
+ * Automatic https://github.com/alki-project/alki-reload[code reloading]
12
+ * Powerful https://github.com/alki-project/alki-dsl[DSL toolkit]
13
13
  * Extensible
14
14
 
15
15
 
@@ -339,6 +339,13 @@ assembly.new.other.print
339
339
  #output: hello
340
340
  ```
341
341
 
342
+ ### Optional mounts (try_mount)
343
+
344
+ Sometimes a library might not always be present. For example, using Bundler
345
+ for development only gems. In that case `try_mount` can be used instead of
346
+ `mount`. If the assembly library can't be found, the mount will simply be
347
+ ignore.
348
+
342
349
  ## Overlays and Tags
343
350
 
344
351
  Overlays are a way to transparently wrap services. They work by taking the
@@ -29,6 +29,9 @@ Alki do
29
29
  children: -> {
30
30
  children_names
31
31
  },
32
+ to_a: -> {
33
+ elements
34
+ },
32
35
  elements: -> {
33
36
  children.inject([]) do |elems, child_name|
34
37
  child = send(child_name)
@@ -5,7 +5,7 @@ Alki do
5
5
  @uses = []
6
6
  end
7
7
 
8
- dsl_method :use do |name,service_path = name|
8
+ helper :add_use do |name,service_path = name|
9
9
  if name.is_a?(Hash) && name.size == 1
10
10
  name, service_path = name.to_a.first
11
11
  end
@@ -13,10 +13,14 @@ Alki do
13
13
  @uses << service_path.to_s
14
14
  end
15
15
 
16
+ dsl_method :use do |name,service_path = name|
17
+ add_use name, service_path
18
+ end
19
+
16
20
  finish do
17
21
  uses = @uses
18
22
  add_class_method :uses do
19
23
  uses
20
24
  end
21
25
  end
22
- end
26
+ end
@@ -28,6 +28,10 @@ module Alki
28
28
  end
29
29
  Alki::ServiceDelegator.new self, path
30
30
  end
31
+
32
+ def reference(path,*args,&blk)
33
+ __reference__ path, args, blk
34
+ end
31
35
  end
32
36
  end
33
37
  end
@@ -1,3 +1,3 @@
1
1
  module Alki
2
- VERSION = "0.12.1"
2
+ VERSION = "0.13.0"
3
3
  end
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.12.1
4
+ version: 0.13.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: 2017-08-31 00:00:00.000000000 Z
11
+ date: 2017-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: alki-dsl
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  version: '0'
198
198
  requirements: []
199
199
  rubyforge_project:
200
- rubygems_version: 2.5.2
200
+ rubygems_version: 2.6.12
201
201
  signing_key:
202
202
  specification_version: 4
203
203
  summary: Base library for building applications.