1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356
|
Revision history for Bread-Board
0.29 2013-11-21
- Fix deprecated enum syntax
0.28 2013-08-30
- Allow overriding of services and containers. This is useful when using
the common pattern of "sub BUILD { my $self = shift; container $self =>
as { ... } }" since the BUILD method in a subclass can modify existing
services and containers that were defined in a superclass, rather than
only being able to replace them (Florian Ragwitz, #26, #27).
0.27 2013-08-06
- allow the 'container $obj' sugar for parameterized containers (Florian
Ragwitz, #25)
0.26 2013-08-01
- allow cloning containers with parameterized subcontainers (Florian
Ragwitz, #22)
- allow referencing parent services from parameterized subcontainers
(Florian Ragwitz, #23)
- deprecate special case in path traversal where a path component with the
name of the current container was ignored (doy, #20)
- fix setting the current container multiple times from outside of a
container (doy)
- make some error messages more helpful (Jason Galea, #14)
- doc improvements (Sterling Hanenkamp, zdk, Philippe Bruhat, and Gabor
Szabo; #15, #17, #19, #21)
- remove the (unmaintained) Bread::Board::GraphViz
0.25 2011-10-20
* Bread::Board
- the container sugar was misbehaving
(since April 2010 apparently), so
we have fixed it and clarified it
0.24 2011-10-15
* Bread::Board::Container
- make sure to clone subcontainers,
this is necessary for parameterized
containers to retain their connections
* Bread::Board::Traversable
- add some errors, be a little more
defensive
0.23 2011-10-14
* Bread::Board::Container::Parameterized
- retain control of names of the generated
containers, so if your the container being
generated has a name, it keeps it.
- this makes these containers more
addressable when composed into
higher level containers
- this helps when subclassing
parameterized containers
- switch the generated containers to be
created with builder instead of default
- also helps when subclassing
parameterized containers as well
* t/046_custom_parameter_service.t
- fixing the error about Moose deprecations
0.22 2011-10-03
- When inferring a service for a type, allow subclasses to fulfill
discovered types.
- Converted to Dist::Zilla
0.21 2011-09-06
* Bread::Board
- Allow service() and alias() sugar functions to
return the newly-created objects if the context
container is not defined. (thanks to kip hampton)
- added tests for this
- this module is just an exporter, so it does not
need to 'use Moose' (thanks to Tomas Doran)
- fixed some spelling and grammar errors
(thanks to ben hengst and Brad Bowman)
* Bread::Board::Service::WithParameters
- parameters attribute now has a builder instead
of a default, so as to allow better tweaking
in subclasses (thanks to Andre Walker)
- added tests for this
0.20 2011-06-13
* Bread::Board::Lifecycle::Singleton
- fix bug in singletons with circular
refs (thanks to doy)
- added tests for this (thanks to perigrin)
0.19 2011-06-01
* Bread::Board::GraphViz
- added by jrockway, this allows you to visualise
a Bread::Board system using GraphViz
- note that this is optional and requires you
to install optional dependencies
* Bread::Board::Service::Alias
- add the ability to alias services under
another name (thanks to doy)
- added tests for this
* Bread::Board::Service::Inferred
- improving edge cases (thanks to doy)
* Bread::Board::Service::*
- several code improvements (thanks to doy)
* Bread::Board::Service
- allow for custom Lifecycles by using the "+"
prefix (thanks to jasonmay)
- added tests for this
0.18 2011-04-13
* Bread::Board::Service::WithParameters
- added has_parameter_defaults method to check
if a parameter has default values
* Bread::Board::Service::WithDependencies
- added a check for has_parameter_defaults before
we make a Thunk
- added test for this (thanks to rafl)
0.17 2011-02-22
* Bread::Board::Service::Inferred
- make recrusive inferrence work
- add tests for this
* Bread::Board::Manual::Concepts::Advanced
- small doc update about subclassing and
the name parameter, resolving RT#63124
(thanks to Evan Haas)
!! POSSIBLE BACK COMPAT BREAKAGE !!
* Bread::Board::Traversal
- make relative parent path traversal more sane, there
should be no more need for excessive ../../ stuff in
dependency service paths (thanks doy)
- adjust tests accordingly
- this should fix RT#64478 as well
0.16 2011-01-10
* Bread::Board::service sugar
- adding the 'service_class' param for the
service sugar function which allows you
to pass in a custom service subclass
- added tests for this (062_service_class_w_sugar.t)
* Bread::Board::Dependency
- added the service_params attribute here
so that it is possible to pass in parameters
when you depend on a service which requires them
- added tests for this (045_parameters_in_dependency.t)
* Bread::Board::Service::Inferred
- when a typemapped service is created it is now
named with the special 'type:' prefix. This allows
you to depend on a typemapped service in a
non-typemapped service
- added tests for this (079_depending_on_type.t)
* Bread::Board::Traversable
- improving the error messages when a container/service
is not found
0.15 2010-09-30
* Bread::Board::Service
- removed the MooseX::Param dependency
and implemented it internally so that
we have more control
* Bread::Board::Types
- the Bread::Board::Service::Dependencies
type now can also coerce ArrayRef[Str]
and HashRef[Str] types correctly (doy)
* Bread::Board::Service::WithDependencies
- we now only create a ::Deferred::Thunk
object if we have non-optional params
* Bread::Board::Service::WithParameters
- added the has_required_parameters
method, to see if there are any
non-optional parameters
- added tests for both the above
!! NEW EXPERIMENTAL FEATURE !!
* Bread::Board
- added the typemap and infer keyword
to help in the mapping of types and
construction of inferred services
- added tests for this
* Bread::Board::Container
- added the typemap feature and added
the ->resolve( type => $type ) call
- added tests for this
* Bread::Board::Service::Inferred
- added this and tests for it
* Bread::Board::Manual::Concepts::Typemap
- added this to help explain the
typemap feature
0.14 2010-08-24
* Bread::Board::Container
- added the ->resolve method to replace
the ->fetch( $service )->get pattern
that annoys mst so much.
- adjusted all the tests to account
for this change.
- adjusted all the docs to now use
this approach instead
- now using Try::Tiny for all exception
handling (except the Deferred service)
* Bread::Board::Service::WithDependencies
- if you want to depend on a parameterized
service, now you can and it will return
a Bread::Board::Service::Deferred::Thunk
that you can call ->inflate on and pass
in the parameters for it.
- added tests for this
* Bread::Board::Service::Deferred::Thunk
- added this + tests for it
0.13 2010-04-23
* Bread::Board
- making the include keyword handle
compilation errors better (doy)
- added test for this
* Bread::Board::Container
Bread::Board::Container::Parameterized
- it is now possible to store parameterized
containers within regular containers and
have them behave properly
- added tests for this
* Bread::Board::Manual::Example::*
- adding some examples of ways to use
Bread::Board to the manual
- added tests to confirm they work
0.12 2010-04-18
* Bread::Board
- added the `include` keyword which will evaluate
an external file within your Bread::Board
configuration
- added tests for this
- added support for parameterized containers
- added tests for this
- the 'container' keyword will now accept an
instance of Bread::Board::Container instead
of the name, this makes subclassing easier
- added tests for this
+ Bread::Board::Container::Parameterized
- added this module and tests
+ Bread::Baord::Manual
- moved, re-organizad and added too the docs
that were previously in Bread::Board.pm
0.11 2010-03-25
* Much improved documentation.
* Fixed inc/ to include all used Module-Install extensions.
0.10 2010-02-22
* Bread::Board
- import strict and warnings into the caller
upon import (Florian Ragwitz)
- fixing the SYNOPSIS so that it will actually
run (thanks to zby for spotting this)
* Bread::Board::ConstructorInjection
- Add a constructor_name parameter for classes using
MooseX::Traits or other things which need an alternately
named constructor. (Tomas Doran)
0.09 2009-07-29
Add cloning support for containers and services
(thanks to jrockway for this)
- adding tests for this
* Bread::Board::ConstructorInjection
- use meta->constructor_name instead of "new"
if possible (jrockway)
* Bread::Board::Service::WithParameters
- fixing a leak where we would hold onto
parameters that were passed into get()
0.08 2009-07-18
- updating dates on all files
* Bread::Board::LifeCycle::Singleton::WithParameters
- new module added to support the idea of a singleton
lifecycle keyed on the parameters rather then just
a per-instance item.
* Bread::Board::Traversable
- fixed the is_weak_ref mis-spelling
0.07 2009-02-18
- Work with new MooseX::Params::Validate
- Specify MX::P::Validate version number in Makefile.PL
0.06 2008-11-03
- Forgot to update MANIFEST before uploading to CPAN.
0.05 2008-11-03
- Applied immutablity to classes where applicable, and vigorously unimport
Moose keywords when they are no longer needed. This results in
x 2 performance as far as defining a Bread::Board model (Daisuke Maki).
* Bread::Board
- Implemented unimport(), thus allowing you to remove keywords
exported by Bread::Board (Daisuke Maki).
* Bread::Board::Traversable
- Unrolled recursive calls to loops, and removed Sub::Current dependency
(Daisuke Maki)
0.04 2008-10-31
* Bread::Board
Bread::Board::Traversable
- fix root path handling (thanks to Daisuke Maki)
- added tests for this
* Bread::Board::Dumper
- Simple utility for dumping containers
(thanks to Daisuke Maki)
* t/
- fixing the plans so that new versions of
Test::More stop complaining
0.03 2008-01-08
* Bread::Board::Service::WithParameters
- fixed the parameter validation to
use a custom cache key, this is so
that it plays nicely with the new
MooseX::Params::Validate
- added tests for this
0.02 2008-01-08
- forgot a dependency, whoops.
0.01 2008-01-07
- Out with the old (IOC) and in with the new (Bread::Board)
|