Files | Admin

Notes:

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.