[Rt-commit] [svn] r887 - in experiments/Bamboo: . lib/Bamboo lib/Bamboo/Controller t

jesse at pallas.eruditorum.org jesse at pallas.eruditorum.org
Thu May 13 01:33:41 EDT 2004


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 at 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();


More information about the Rt-commit mailing list