Release Name: 0.8.0
Notes:
Notable new features in this release include:
* The "factory" element may be omitted when defining a service point, and it
will default to "copland.BuilderFactory".
* The BuilderFactory now supports an "invoke" element, describing methods and
their parameters to invoke while initializing a new service.
* A warning is now logged when you try to set a property that does not have an
explicit setter defined.
* Added the solitaire-cipher implementation as one of the example programs.
* Registry#service now accepts an optional block, which will be passed to
"instance_eval" on the new service every time the requested service is
instantiated.
* Upgraded to version 3.3.0 of the setup.rb installer.
Changes:
2004-09-26 21:35 minam
* TODO, doc/README: More minor tweaks in preparation for 0.8.0
2004-09-26 21:29 minam
* setup.rb: Updated to use version 3.3.0 of the setup.rb installer.
2004-09-26 21:18 minam
* doc/manual/manual.yml: Documented the use of the initialization
block to Registry#service.
2004-09-26 21:10 minam
* lib/copland/package.rb, lib/copland/registry.rb,
lib/copland/service-point.rb, lib/copland/models/abstract.rb,
lib/copland/models/prototype-deferred.rb,
lib/copland/models/prototype.rb, lib/copland/models/proxy.rb,
lib/copland/models/singleton-deferred.rb,
lib/copland/models/singleton.rb, lib/copland/models/threaded.rb,
test/tc_service-point.rb, test/tc_service.rb,
test/services/simple.rb: It is now possible to pass an
"initializer block" to Registry#service (and others) so that
one-time initialization can occur for the service based on the
context in which it was created. This makes the "prototype"
service model more useful.
2004-09-26 20:24 minam
* examples/solitaire-cipher/: README, Rakefile, bin/main.rb,
lib/cipher.rb, lib/cli.rb, lib/package.yml, test/tc_deck.rb,
test/tc_key-stream.rb, test/tc_keying-algorithms.rb,
test/tc_solitaire-cipher.rb, test/tc_unkeyed-algorithm.rb,
test/tests.rb: Added solitaire cipher implementation (from Ruby
Quiz #1) as example.
2004-09-26 12:38 minam
* examples/calc/: package.yml, services.rb: Calc example is now
better, using method_missing to dispatch to the functions.
2004-09-26 11:59 minam
* examples/calc/services.rb: Added accessors to the calculator
class.
2004-09-26 11:52 minam
* TODO, lib/copland/impl/builder-factory.rb,
lib/copland/impl/startup.rb, test/impl/tc_builder-factory.rb,
test/services/simple.rb: It now causes a warning to be logged
when you attempt to set an attribute that has no setter method.
2004-09-24 15:33 minam
* lib/copland/: version.rb, impl/package.yml: Version bump.
Modified service point definitions so that the optional "factory"
element is not specified unless needed.
2004-09-24 15:29 minam
* doc/manual/manual.yml: Documented the fact that the factory
element of implementor is now optional.
2004-09-24 15:25 minam
* TODO, lib/copland/impl/builder-factory.rb,
lib/copland/impl/package.yml, test/impl/tc_builder-factory.rb:
BuilderFactory now accepts an 'invoke' element, which is a hash
of method/parameter-list pairs. These methods will be invoked in
arbitrary order after all properties have been set on the new
service.
2004-09-24 14:38 minam
* TODO, lib/copland/instantiator/complex.rb,
test/impl/tc_builder-factory.rb, test/services/package.yml: If a
"factory" element is omitted from an implementor description, it
now defaults to "copland.BuilderFactory". Also fixed a broken
test-case, and make some existing tests omit the explicit
reference to "copland.BuilderFactory" so that this new feature
could be tested.
|