[Rt-commit] r19031 - in rt/3.999/trunk: lib/RT lib/RT/Lorzy t/lorzy
clkao at bestpractical.com
clkao at bestpractical.com
Thu Apr 2 09:32:25 EDT 2009
Author: clkao
Date: Thu Apr 2 09:32:24 2009
New Revision: 19031
Modified:
rt/3.999/trunk/lib/RT/Lorzy.pm
rt/3.999/trunk/lib/RT/Lorzy/Dispatcher.pm
rt/3.999/trunk/lib/RT/Model/Rule.pm
rt/3.999/trunk/t/lorzy/action.t
Log:
- fix lorzy/action.t
- change model::rule column names to avoid reserve words for mysql.
Modified: rt/3.999/trunk/lib/RT/Lorzy.pm
==============================================================================
--- rt/3.999/trunk/lib/RT/Lorzy.pm (original)
+++ rt/3.999/trunk/lib/RT/Lorzy.pm Thu Apr 2 09:32:24 2009
@@ -95,6 +95,15 @@
sub make_factory {
my $class = shift;
my $self = $class->SUPER::new(@_);
+
+ if (ref($self->condition) eq 'CODE') {
+ # XXX: signature compat check
+ $self->condition( Lorzy::Lambda::Native->new( body => $self->condition,
+ signature =>
+ { ticket => Lorzy::FunctionArgument->new( name => 'ticket', type => 'RT::Model::Ticket' ),
+ transaction => Lorzy::FunctionArgument->new( name => 'transaction', type => 'RT::Model::Transaction' ) }
+ ) );
+ }
if (ref($self->action) eq 'CODE') {
# XXX: signature compat check
$self->action( Lorzy::Lambda::Native->new( body => $self->action,
Modified: rt/3.999/trunk/lib/RT/Lorzy/Dispatcher.pm
==============================================================================
--- rt/3.999/trunk/lib/RT/Lorzy/Dispatcher.pm (original)
+++ rt/3.999/trunk/lib/RT/Lorzy/Dispatcher.pm Thu Apr 2 09:32:24 2009
@@ -5,6 +5,7 @@
sub reset_rules {
my $rules = RT::Model::RuleCollection->new( current_user => RT::CurrentUser->superuser);
+ $rules->unlimit;
for (@$rules) {
$_->delete;
}
@@ -15,9 +16,9 @@
$rules->unlimit;
return [ map {
RT::Lorzy::RuleFactory->make_factory(
- { condition => Jifty::YAML::Load($_->condition),
- prepare => Jifty::YAML::Load($_->prepare),
- action => Jifty::YAML::Load($_->action),
+ { condition => Jifty::YAML::Load($_->condition_code),
+ prepare => Jifty::YAML::Load($_->prepare_code),
+ action => Jifty::YAML::Load($_->action_code),
description => $_->description,
_stage => 'transaction_create' })
} @$rules];
Modified: rt/3.999/trunk/lib/RT/Model/Rule.pm
==============================================================================
--- rt/3.999/trunk/lib/RT/Model/Rule.pm (original)
+++ rt/3.999/trunk/lib/RT/Model/Rule.pm Thu Apr 2 09:32:24 2009
@@ -65,9 +65,9 @@
sub table {'Rules'}
use Jifty::DBI::Schema;
use Jifty::DBI::Record schema {
- column action => type is 'text';
- column condition => type is 'text';
- column prepare => type is 'text';
+ column action_code => type is 'text';
+ column condition_code => type is 'text';
+ column prepare_code => type is 'text';
column description => type is 'text';
};
use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata map => {
@@ -79,7 +79,7 @@
sub create_from_factory {
my ($self, $factory) = @_;
- my %args = map { $_ => Jifty::YAML::Dump( $factory->$_ ) }
+ my %args = map { $_.'_code' => Jifty::YAML::Dump( $factory->$_ ) }
qw(action condition prepare );
$self->SUPER::create( %args,
description => $factory->description );
Modified: rt/3.999/trunk/t/lorzy/action.t
==============================================================================
--- rt/3.999/trunk/t/lorzy/action.t (original)
+++ rt/3.999/trunk/t/lorzy/action.t Thu Apr 2 09:32:24 2009
@@ -54,7 +54,8 @@
RT::Lorzy::Dispatcher->reset_rules;
-RT::Lorzy::Dispatcher->add_rule(
+my $rule = RT::Model::Rule->new( current_user => RT->system_user );
+$rule->create_from_factory(
RT::Lorzy::RuleFactory->make_factory
( { condition => $on_created,
_stage => 'transaction_create',
More information about the Rt-commit
mailing list