Handel::Storage::RDBO 0.01_01 Released

Just because I can, and also as an exercise to make sure the storage layer in the upcoming Handel 1.0 is abstracted to my liking, I’m happy to announce the first release of Rose::DB::Object support for Handel.

The dist includes the requisite storage, schema, and result classes needed to use Handel 1.0 with Rose::DB::Object classes instead of the DBIx::Class schema classes.

To use RDBO instead of DBIC, all you have to do is change the storage_class in your storage classes generated by the bootstrap:

package MyApp::Storage::Cart;
use strict;
use warnings;

BEGIN {
use base qw/Handel::Storage::DBIC::Cart/;
};

becomes:

package MyApp::Storage::Cart;
use strict;
use warnings;

BEGIN {
use base qw/Handel::Storage::RDBO::Cart/;
};

You will need to do this in the Cart, Cart::Item, Order, and Order::Item storage classes. At some point I will change the generation scripts to allow one to specify DBIC or RDBO during code generation.

Handel-Storage-RDBO-0.01_01 should be available on CPAN shortly, and requires Handel 1.0, which doesn’t yet exist. Please use the latest code from the 1.0 branch for now until I get another dev release out the door:

http://svn.handelframework.com/CPAN/Handel/branches/DBIC-1.0/

-=Chris

Announcements

Comments Off

Permalink

Storage: Handel::Storage:

RDBO in the works…

Currently Working On

Comments Off

Permalink

1.0 Release is Near

Still some demo/test cleanup to do

Currently Working On

Comments Off

Permalink

Handel 0.99_15 Released

Wow. I think my eyes are bleeding. This release has a lot of work behind it. One of the big new features is Module::Starter::Handel, the handel.pl starter script, and another Catalyst helper that combines the old helper output with the new starter subclasses. And oh yeah, ~99% test coverage doesn’t suck either.

I still have to make Perl::Critic happy with the test suite (test labels). The L!0N lexicons need completed, and the demos still need fixed. This might possibly be the last dev release before 1.0.

  • L10N files now use constant-like keys rather than english errors
  • L10N::es_es.pm reworked by Diego Kuperman
  • L10N::fr reworked by Pierrick DINTRAT
  • Added l10n_lexicon_synced.t to ensure language lexicons are synced with each other via key checks
  • Removed constraint_uuid check from Checkout order/cart since it’s not subclass friendly (RT#19813,TKP)
  • Checkout cart now throws an exception of now order can be found matching the search criteria
  • Converted tests to use Handel::Test
  • Cleanup tests against Perl::Critic
  • Fixed Checkout prototype mismatch warning under perl > 5.8.8
  • Added more config tests for MP1/MP2
  • Added more Schema connect tests
  • Added more Base tests
  • Added Iterator tests
  • Fixed bug in Iterator:::DBIC where first increments the resulset
  • Fixed issue in Cat Helpers that treated MyApp::Controller:: as a valid name
  • Added Catalyst Model setup tests
  • Added Catalyst Scaffold Helper tests
  • Added checkout_class to Order pod
  • Added Module::Starter::Handel to help kickstart Handel projects
  • Added currency_code_column to storage so DBIC inflators can set currency code using another column in the row
  • Removed formatting options from Currency->convert now that it always returns a currency object instead of formatted strings
  • Reworked Handel::Currency to be more object like with its parameters
  • Added Handel::Compat::Currency, inserted automatically when loading Handel::Compat
  • Added compat_currency.t tests
  • Converted to Module::Pluggable::Object
  • Cart restore now throws exception on unknown mode like it was supposed to
  • Only create currency converter when calling convert for the first time
  • Added handel.pl quickstart scripts for Module::Starter::Handel apps
  • Added Catalyst::Helper::Handel to create entire cat app w/ starter subclasses
  • Huge test coverage. 99% w00t!
  • Mostly Perl::Critic happy…except for some test labels
  • Probably last release before 1.0!

Announcements

Comments Off

Permalink

Finished With Code Coverage

It was a long journey to total test coverage, but I estimate I fixed about 15 unknown untested bugs in the process. That’s never a bad thing. Now, it’s time to fix some pod spelling, write the QuickStart pod, make Perl::Critic happy again, fix the old demo code, and release 1.0. Getting closer every day.

Off Topic

Comments Off

Permalink

An Introduction to Handel

I’ve put the slides from tonights RubberCity Perl Mongers meeting presentation online. You can find them in the slides directory.

Presentations

Comments Off

Permalink

Code Coverage Statistics

For those who like to play along in my game of testing OCD, I’ve put the current code coverage stats online. It’s getting greener all the time. :-)

Off Topic

Comments Off

Permalink

Module::Starter::Handel

After a few different people have struggled through customizing their use of Handel, I decided that it might be worth it to hack together a quickstart script that took care of all the basic subclassing hoopla. The new module can be found in the 1.0 dev branch and it requires that you have Module::Starter installed.

To create a new project, call the module-starter script passing in the class parameter, the project name and the other parameters required by module-starter:

module-starter --class=Module::Starter::Handel --module=MyProject \
--author="Me" --email="me@example.com" --verbose

and you should end up with some nice new spiffy project modules:

Created MyProject
Created MyProject\lib\MyProject
Created MyProject\lib\MyProject\Cart.pm
Created MyProject\lib\MyProject\Cart
Created MyProject\lib\MyProject\Cart\Item.pm
Created MyProject\lib\MyProject\Storage
Created MyProject\lib\MyProject\Storage\Cart.pm
Created MyProject\lib\MyProject\Storage\Cart
Created MyProject\lib\MyProject\Storage\Cart\Item.pm
Created MyProject\lib\MyProject\Order.pm
Created MyProject\lib\MyProject\Order
Created MyProject\lib\MyProject\Order\Item.pm
Created MyProject\lib\MyProject\Storage\Order.pm
Created MyProject\lib\MyProject\Storage\Order
Created MyProject\lib\MyProject\Storage\Order\Item.pm
Created MyProject\lib\MyProject\Checkout.pm
Created MyProject\t
Created MyProject\t\pod-coverage.t
Created MyProject\t\pod.t
Created MyProject\t\boilerplate.t
Created MyProject\t\00-load.t
Created MyProject\.cvsignore
Created MyProject\Makefile.PL
Created MyProject\MANIFEST
Created starter directories and files

New Features

Comments Off

Permalink

Tests: Using Handel::Test, now a subclass of Test:

More…

Currently Working On

Comments Off

Permalink

Handel 0.99_14 Released

Second verse, same as the first.

  • Added Order::save method
  • MarkOrderSaved plugin now uses Order::save method instead of setting the type field directly
  • Removed constraint_uuid check from Order create/reconcile as it’s not subclass of interchangable schema friendly (RT#19813,TKP)
  • Changed id references in search to use first primary key from Storage (RT#19813,TKP)
  • Order creation from cart no does can(’shopper’) to help w/ subclassing

Announcements

Comments Off

Permalink