On 30/03/11 20:20, Chris Weyl wrote:
On Mon, Mar 28, 2011 at 6:22 AM, Stevan Little<
stevan.lit...@iinteractive.com>  wrote:


On Mar 28, 2011, at 8:28 AM, Peter Gordon wrote:

I have a small class, where I would like the variables to be read only
by external calls, but rw for internal access.

has 'foo' =>  ( is =>  'ro', writer =>  '_set_foo', ... );

Is the more common method for this.


On a related note, I actually found myself using that construction
frequently enough that I finally put together an attribute trait to take "is
=>  'rwp'" (read-write-private) which then sets "is =>  'ro', writer =>
'_$name'".  It's on the CPAN at MooseX::AttributeShortcuts... The next
version is likely to be parameterizable, so '_set_$name' could be the
generated writer name.

_set_$name is the convention pretty much everywhere I see it done so that should be the default.

It'd also be nice if you could steal Moo's is => 'lazy' shortcut since I'd like that to work for people doing Moose stuff as well in order to be able to de-experimental it since it's rather nicer than lazy_build

Reply via email to