package Workflow::Persister::RandomId; # $Id: RandomId.pm 454 2009-01-12 10:04:02Z jonasbn $ use warnings; use strict; use base qw( Class::Accessor ); use constant DEFAULT_ID_LENGTH => 8; use constant RANDOM_SEED => 26; use constant CONSTANT_INCREMENT => 65; $Workflow::Persister::RandomId::VERSION = '1.03'; my @FIELDS = qw( id_length ); __PACKAGE__->mk_accessors(@FIELDS); sub new { my ( $class, $params ) = @_; my $self = bless {}, $class; my $length = $params->{id_length} || DEFAULT_ID_LENGTH; $self->id_length($length); return $self; } sub pre_fetch_id { my ( $self, $dbh ) = @_; return join '', map { chr int( rand RANDOM_SEED ) + CONSTANT_INCREMENT } ( 1 .. $self->id_length ); } sub post_fetch_id {return} 1; __END__ =head1 NAME Workflow::Persister::RandomId - Persister to generate random ID =head1 VERSION This documentation describes version 1.03 of this package =head1 SYNOPSIS can then be used to generate/retrieve a random ID, generated adhering to the length specified in the constructor call. =head3 post_fetch_id This method is unimplemented at this time, please see the TODO. =head1 TODO =over =item * Implement L =back =head1 COPYRIGHT Copyright (c) 2003-2004 Chris Winters. All rights reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 AUTHORS Chris Winters Echris@cwinters.comE