mindi 0.5 → 0.6

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.
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: []