Mailing List Archive

[svn] r887 - in experiments/Bamboo: . lib/Bamboo lib/Bamboo/Controller t
Author: jesse
Date: Thu May 13 01:33:40 2004
New Revision: 887

Modified:
experiments/Bamboo/ (props changed)
experiments/Bamboo/lib/Bamboo/Controller.pm
experiments/Bamboo/lib/Bamboo/Controller/Method.pm
experiments/Bamboo/lib/Bamboo/Controller/Object.pm
experiments/Bamboo/t/1basicparse.t
Log:
----------------------------------------------------------------------
r1562@tinbook: jesse | 2004-05-13T05:32:29.947545Z

Start of code to call methods
----------------------------------------------------------------------


Modified: experiments/Bamboo/lib/Bamboo/Controller.pm
==============================================================================
--- experiments/Bamboo/lib/Bamboo/Controller.pm (original)
+++ experiments/Bamboo/lib/Bamboo/Controller.pm Thu May 13 01:33:40 2004
@@ -20,7 +20,7 @@
sub parse_param_hash {
my $self = shift;
my %params = (@_);
- while ((my $param, my $value) = each %params) {
+ while ( ( my $param, my $value ) = each %params ) {
if ( $param =~ /^(.*?)-(.*?)-(.*?)-(.*?)-(.*?)$/ ) {
my $object_type = $1;
my $object_moniker = $2;
@@ -28,15 +28,14 @@
my $method_moniker = $4;
my $param = $5;

-
-
- my $object = $self->{'obj_cache'}->get( $object_type, $object_moniker );
+ my $object =
+ $self->{'obj_cache'}->get( $object_type, $object_moniker );

$object->add_method_param(
- method => $method,
+ method => $method,
moniker => $method_moniker,
- param => $param,
- value => $value
+ param => $param,
+ value => $value
);

}
@@ -44,7 +43,6 @@
}
}

-
sub validate_method_calls {


@@ -55,12 +53,11 @@
#figure out which objects we have to look at
foreach my $object ($self->objects->as_array()){
foreach my $method ($object->methods->as_array()) {
- if ($self->validate_object_method($method,$object)){
- $self->call_object_method($object, $method)
+ if ($object->validate_method($method)) {
+ $object->call_method($method);
}
}
}
-
}


@@ -69,47 +66,4 @@
return ($self->{obj_cache});
}

-sub objects_to_process {
-
-}
-
-
-sub methods_for_object {
-
-}
-
-sub parameters_for_method_on_object {
-
-}
-
-
-sub validate_method_for_object {
-
-
-}
-
-sub vaildate_parameters_for_method {
-
-}
-
-
-sub call_object_method {
- my $self = shift;
- my $object = shift;
- my $method = shift;
-
- my %params = $self->parameters_for_object_method($object, $method);
-
-}
-
-sub parameters_for_object_method {
- my $self = shift;
- my $object = shift;
- my $method = shift;
-
- die "Need code to pull out the parameters for a method on an object";
-
-
-}
-
1;

Modified: experiments/Bamboo/lib/Bamboo/Controller/Method.pm
==============================================================================
--- experiments/Bamboo/lib/Bamboo/Controller/Method.pm (original)
+++ experiments/Bamboo/lib/Bamboo/Controller/Method.pm Thu May 13 01:33:40 2004
@@ -13,7 +13,7 @@
my $self = {};
bless ($self, $class);

- $self->{type} = shift;
+ $self->{name} = shift;
$self->{moniker} = shift;

$self->{'params'} = Bamboo::Controller::ParamCollection->new();
@@ -22,8 +22,8 @@

}

-sub type {
- $_[0]->{'type'};
+sub name {
+ $_[0]->{'name'};
}



Modified: experiments/Bamboo/lib/Bamboo/Controller/Object.pm
==============================================================================
--- experiments/Bamboo/lib/Bamboo/Controller/Object.pm (original)
+++ experiments/Bamboo/lib/Bamboo/Controller/Object.pm Thu May 13 01:33:40 2004
@@ -40,4 +40,28 @@
$method->params->add( $args{param}, $args{value});
}

+
+sub call_method {
+ my $self = shift;
+ my $method = shift;
+ my $name = $method->name;
+ $self->real_object->$name($method->params->params);
+
+}
+
+sub real_object {
+ my $self = shift;
+ unless ( $self->{obj} ) {
+ $self->{obj} = $self->{type}->new();
+ $self->{obj}->Load( $self->{moniker} )
+ if ( $self->{moniker} =~ /^\d+$/ );
+ }
+ return ( $self->{obj} );
+}
+
+
+sub validate_method {
+ warn "Everything is valid";
+ return 1;
+}
1;

Modified: experiments/Bamboo/t/1basicparse.t
==============================================================================
--- experiments/Bamboo/t/1basicparse.t (original)
+++ experiments/Bamboo/t/1basicparse.t Thu May 13 01:33:40 2004
@@ -1,3 +1,24 @@
+package RT::MockTicket;
+
+sub new {
+ my $self = {};
+ bless $self;
+ return $self;
+}
+
+sub Load {
+ my $self = shift;
+ $self->{id} = shift;
+}
+
+sub SetStatus {
+ my $self = shift;
+ die "Tried to set the status to ". shift ." for ". $self->{id};
+}
+
+package main;
+
+
use Test::More qw/no_plan/;

use YAML qw/Dump/;
@@ -5,8 +26,8 @@

my %basic_test = (

- 'RT::Ticket-23-SetStatus-ss1-_Param1' => 'open',
- 'RT::Ticket-24-SetStatus-ss1-_Param1' => 'stalled',
+ 'RT::MockTicket-23-SetStatus-ss1-_Param1' => 'open',
+ 'RT::MockTicket-24-SetStatus-ss1-_Param1' => 'stalled',

);

@@ -25,3 +46,5 @@
is($#params,0);

is ($methods[0]->params->get($params[0]), 'stalled');
+
+$controller->process_method_calls();
_______________________________________________
Rt-commit mailing list
Rt-commit@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-commit