[name] I agree Setter is rather vague, if there are no name change requests then it goes live some time tonight as MooseX::MutatorAttributes
http://www.develonizer.com/svn/MooseX-MutatorAttributes/trunk/ [failure] Eric I see your point and I've changed it though I would like to get around to having a way to change that, something like: use MooseX::MutatorAttributes failure=>'ignore'; .... $self->set_failure('deadly'); $self->set( not_here => $value )->method; I agree completely though that the default should be deadly, though there are some instances in some of the code that I'm dealing with here where I would want things to be ignored on failure (I'll accept the any stones thrown my way). [call] Again pestering welcome, Eric you should know that by now. All ribbing aside though, about your code, wouldn't things be cleaner if you dealt with the hash as a hash? is there some benefit of converting types? It reads rather clunky as your pulling things off in stages, though by the time it's compiled I'm sure that there the same, Also it seems though that the only real difference between call and set would be calling $self->meta->{'%!methods'} vs {'%!attributes} ? On Fri, Aug 1, 2008 at 1:35 PM, Eric Wilhelm <[EMAIL PROTECTED]> wrote: > # from benh > # on Thursday 31 July 2008 19:38: > >>So I'm looking for some >>feedback before I toss it up on CPAN. > > s/cluck/croak/ > > That would seem more analogous to the "Can't locate method ..." error > which would typically get thrown when trying to call a mutator for a > non-existent attribute. > > # from Paul Fenwick > # on Thursday 31 July 2008 23:25: > >>Just to ensure my understanding is correct, this is a module which >> allows a class to return the object after a write accessor is called, >> rather than the previous (or current) value? > > It would seem so. Now I'm wondering if I should pester Ben with the > issue of more generic chaining. > > $obj->call(method1 => [EMAIL PROTECTED], method2 => [EMAIL > PROTECTED])->method3; > > sub call { > my $self = shift; > my @list = @_; > > while(defined(my $method) = shift(@list)) { > my $args = shift(@list); > $self->$method(ref($args) ? @$args : $args); > } > return($self); > } > > But now I'm just being silly. Everyone knows that should just be an > AUTOLOAD with a 'call_' prefix on every method. > > $self->call_method1(@args1)->call_method2(@args2)->method3; > > --Eric > -- > The only thing that could save UNIX at this late date would be a new $30 > shareware version that runs on an unexpanded Commodore 64. > --Don Lancaster (1991) > --------------------------------------------------- > http://scratchcomputing.com > --------------------------------------------------- > -- benh~