alki 0.12.1 → 0.13.0

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