From: jason <ja...@sh...> - 2003-10-06 03:25:26
|
On Sun, 5 Oct 2003, Bruce Winter wrote: > > Hi All, > > > > The Generic_Item->set_with_timer() method does not pass the > > 'setby' parameter to the object's set. Because it is using an eval to > > set up the action (Generic_Item.pm line 269): > > > > my $action = "set $object '$state_change'"; > > > > I cannot just shove the $self onto the end of the string as it will > > serialize the class into a string. > > > > my $action = "set $object '$state_change',$self"; #will not work > > > > Anyone have any ideas to get this to pass the setby object through the > > eval? > > > > -J > > To have the object point to itself as the set_by object, I think what you > want this: > > my $object = $self->{object_name}; > my $action = "set $object '$state_change', $object"; > > So instead of using $self, which is a reference, we use the object's name > (e.g. $light1), which will get resolved as a reference once the eval is run. > > Does it make sense to have an object's set_by return itself, when set by > set_with_timer? Or would it be better to have set_by return something like > 'set_with_timer'? Ah. Its always nice to ask when the answer is too obvious for me to see. ;) Seeing as the parameter is usually an object, I guess it would be logical to maintain that and set it as an object. I can handle it either way though if setting the string is more friendly. -J |