minicontext 0.1.0 → 0.1.1

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: 3921cd064245ac91d6458de058aae081017e91d0
4
- data.tar.gz: 072368db78a1b5e9907feec2750fbd6d8620528f
3
+ metadata.gz: 6c1e4e27ace275f77773f39ef51a39bc75b99258
4
+ data.tar.gz: ed67bd70ede0a00ffbf919c541be9bcca2597825
5
5
  SHA512:
6
- metadata.gz: dc9af6210e1cb9d3ef79387b8aae07fd8a8a55db807fe401b66d8934a9a44db495b678275483177fad44a730eb02745830cd0949b759777a20604ba604a8734d
7
- data.tar.gz: 0b61e2812b9fffe72ed7a9450288b15fd7bfa77c7fa63d54f2cf2f8ab52ca2d9a27ae76111e27a4d46247a2d9e78fca9a96517340e266ecb5e2a0d21cd0dd1f8
6
+ metadata.gz: 1221980c7636234c8e4e225ef8d734a79b78ab0abd146d991daf6b3485bab1f5e6d82f3b4aeb1d6a2ded54463ca6c1e4c132e40335ea427b03b5f46d915114f6
7
+ data.tar.gz: 1c09c60814b3301a5773e8ab97c476d6d6247b7ecd6c7716ed1cc8a23c101000d8bda6a05fa4d38701cd522b03a8a6320ce7985df068d36a0c63a4a1b55b620e
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # Minicontext
2
2
 
3
+ [![Build Status](https://travis-ci.org/daisuko/minicontext.svg?branch=master)](https://travis-ci.org/daisuko/minicontext)
4
+
3
5
  Mimicontext is a DSL kit.
4
6
 
5
7
  ## Installation
6
8
 
7
- ` Gemfile`:
9
+ `Gemfile`:
8
10
 
9
11
  ```ruby
10
12
  gem 'minicontext'
@@ -18,6 +20,46 @@ Or install it yourself as:
18
20
 
19
21
  $ gem install minicontext
20
22
 
23
+ ## Usage
24
+
25
+ build:
26
+ ```ruby
27
+ require 'minicontext'
28
+
29
+ root = Minicontext::Context.new
30
+ env = Minicontext::Environment.new(1)
31
+
32
+ root.task(:a) { 10 }
33
+ # or
34
+ root.context(:i) do
35
+ task(:a) { 100 }
36
+ task(:b) { 'b' }
37
+ end
38
+ # or
39
+ root.load <source>
40
+ ```
41
+
42
+ invoke:
43
+ ```ruby
44
+ root[:a].value.(env)
45
+ #=> 10
46
+
47
+ root[:i][:a].value.(env)
48
+ # => 100
49
+
50
+ root[:a]
51
+ # => #<Minicontext::Router::Just ...>
52
+
53
+ root[:a].value
54
+ # => #<Proc ...>
55
+
56
+ root[:b]
57
+ # => #<Minicontext::Router::Noting ...>
58
+
59
+ root[:b].value
60
+ # => nil
61
+ ```
62
+
21
63
  ## License
22
64
 
23
65
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -24,8 +24,8 @@ module Minicontext
24
24
  raise AssignError, name if KEYWORD.include?(name)
25
25
 
26
26
  self[name] = -> (env) do
27
- env.memoized.fetch(name) do
28
- env.memoized[name] = env.(self, &block)
27
+ env.memoized.fetch([self, name]) do
28
+ env.memoized[[self, name]] = env.(self, &block)
29
29
  end
30
30
  end
31
31
  end
@@ -1,3 +1,3 @@
1
1
  module Minicontext
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minicontext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - daisuko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-07 00:00:00.000000000 Z
11
+ date: 2015-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler