mindi 0.5 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -17
  3. data/examples/game.rb +4 -3
  4. data/lib/mindi.rb +3 -3
  5. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aca8e938147f48488f4e0f0c39a0cf2b2dc73c6d
4
- data.tar.gz: 45deba41f62f63149767a778bdb634b54c0d2a4c
3
+ metadata.gz: f834757708bc208a40345d926add820c21fb236e
4
+ data.tar.gz: 160b48516bbb978b2022b46fbaf1795632da3868
5
5
  SHA512:
6
- metadata.gz: 90b98a6bface5c02dc56a7c12642f612a6e3ce2ba8ed3210c62e9909012277b0f7cfb05c5469a2900c0c6f6ad886d2d3c915b9285ef695142ee586cedecf605c
7
- data.tar.gz: b0500a9adb11e764ea026658222e2b9d502e8947601a6567a69bb1973a85269b42357112f1faf44efe513b65c516be8688e14500d56a69f24d89df5f6bf0ff19
6
+ metadata.gz: ba8928b900e7c540e5cd628b4db9bcc537f9516e16ebc3b8daf0903056eff8451beebaee12a0caf1a21b4052489bb9a6b685efe3081c1ef3b1878b9e894d8ed8
7
+ data.tar.gz: d737d66ef628caa1630801e00f1adfb5c3d2e06bd780db353759d60429d24320475b9d96f1c24cdc1137ce3df0b0cd1e7e7496939eaac52684cd95aa56e3087d
data/README.md CHANGED
@@ -112,40 +112,40 @@ Notes
112
112
  - The Injectable module can be used without MinDI containers as a kind of
113
113
  delegation:
114
114
 
115
- require 'mindi'
116
- x = [1,2,3]
117
- y = {}
118
- x.extend MinDI::Injectable
119
- x.inject_into y
120
- p y.reverse # ==> [3, 2, 1]
115
+ require 'mindi'
116
+ x = [1,2,3]
117
+ y = {}
118
+ x.extend MinDI::Injectable
119
+ x.inject_into y
120
+ p y.reverse # ==> [3, 2, 1]
121
121
 
122
122
  - MinDI can be used as a Rake-like task scheduler:
123
123
 
124
- require 'mindi'
124
+ require 'mindi'
125
125
 
126
- class Tasks
127
- include MinDI::BasicContainer
126
+ class Tasks
127
+ include MinDI::BasicContainer
128
128
 
129
- a { print "a" }
130
- b { a; print "b" }
131
- c { a; print "c" }
132
- d { b; c; print "d" }
133
- end
129
+ a { print "a" }
130
+ b { a; print "b" }
131
+ c { a; print "c" }
132
+ d { b; c; print "d" }
133
+ end
134
134
 
135
- Tasks.new.d # ==> abcd
135
+ Tasks.new.d # ==> abcd
136
136
 
137
137
  Bugs
138
138
  ----
139
139
 
140
140
  - Private and protected services must be declared explicitly:
141
141
 
142
- private :some_service
142
+ private :some_service
143
143
 
144
144
  rather than by putting them in the private section of the class def.
145
145
 
146
146
  - Because of how ruby defines Proc#arity, a service defined like
147
147
 
148
- sname { do_something }
148
+ sname { do_something }
149
149
 
150
150
  with no argument list will be treated as a multikey_multiton rather than
151
151
  as a singleton. The behavior will be the same, though.
@@ -39,13 +39,14 @@ class GameContainer
39
39
 
40
40
  # A multiton.
41
41
  # The |name| means there can be many things--one for each name.
42
- # internally, there is a hash stored in @thing that maps
43
- # each name strign to a Thing.
42
+ # internally, there is a hash stored in @thing that maps
43
+ # each name to a Thing.
44
44
  thing { |name| Thing.new name }
45
45
 
46
46
  # The shovel (unique with that name).
47
47
  shovel { thing "Shovel" }
48
48
 
49
+ # Another multiton -- mapping from name to Room instance.
49
50
  room { |name| Room.new name, [] }
50
51
 
51
52
  start_room { room "garden" }
@@ -65,7 +66,7 @@ puts
65
66
 
66
67
  # Create a new thing:
67
68
  ball = game.thing("ball")
68
- ball.location = game.room "basement"
69
+ ball.location = game.room("basement")
69
70
  p ball
70
71
  puts
71
72
 
@@ -6,7 +6,7 @@ module MinDI # :nodoc:
6
6
  # container].
7
7
  #
8
8
  # Use MinDI by <b><tt>include</tt></b>ing the MinDI::InjectableContainer
9
- # module in your container class. As of version 0.2, this does two things: it
9
+ # module in your container class. This does two things: it
10
10
  # <b><tt>extend</tt></b>s your container class with the Container module,
11
11
  # which provides class methods for expressing service definitions in a
12
12
  # natural, rubylike way. It also injects the container into all services which
@@ -31,7 +31,7 @@ module MinDI # :nodoc:
31
31
  # Note that services can be defined dynamically by reopening the class scope
32
32
  # or simply by calling the service with a block. See examples/dynamic.rb.
33
33
 
34
- VERSION = '0.5'
34
+ VERSION = '0.6'
35
35
 
36
36
  module Container
37
37
 
@@ -138,7 +138,7 @@ module MinDI # :nodoc:
138
138
  #
139
139
  # threaded(:service_name) { |thr| ... }
140
140
 
141
- def threaded(name, &impl) # :yields: thr
141
+ def threaded(name, &impl) # :yields: thread
142
142
  impl_name = Container.impl_method_name(name)
143
143
  define_implementation(impl_name, impl)
144
144
  arity = impl.arity
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mindi
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: '0.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel VanderWerf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-25 00:00:00.000000000 Z
11
+ date: 2014-01-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: MinDI is minimalist in that it attempts to map concepts of DI into basic
14
- ruby constructs, rather than into a layer of specialized constructs.
13
+ description: MinDI is minimalist in that it attempts to map concepts of dependency
14
+ injection into basic ruby constructs, rather than into a layer of specialized constructs.
15
15
  email: vjoel@users.sourceforge.net
16
16
  executables: []
17
17
  extensions: []