Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Released version 0.29

  • Loading branch information...
commit b9e0480944943dc855bae264f6b539385300dd55 1 parent cbe8fb0
@ingydotnet authored
View
5 Changes
@@ -1,4 +1,9 @@
---
+version: 0.29
+date: Mon Oct 10 22:46:50 EDT 2011
+changes:
+- Mo::Mouse with help by gfx++
+---
version: 0.28
date: Sun Oct 9 16:29:07 EDT 2011
changes:
View
1  Makefile.PL
@@ -8,4 +8,5 @@ all_from 'lib/Mo.pm';
all_from 'lib/Mo.pod';
recommends 'IO::All';
+recommends 'Class::XSAccessor';
no_index 'directory' => 'src';
View
2  lib/Mo.pm
@@ -1,3 +1,3 @@
package Mo;
-$VERSION=0.28;
+$VERSION=0.29;
no warnings;my$M=__PACKAGE__.::;*{$M.Object::new}=sub{bless{@_[1..$#_]},$_[0]};*{$M.import}=sub{import warnings;$^H|=1538;my($P,%e,%o)=caller.::;shift;eval"no Mo::$_",&{$M.$_.::e}($P,\%e,\%o)for@_;return if$e{M};%e=(extends,sub{eval"no $_[0]()";@{$P.ISA}=$_[0]},has,sub{my$n=shift;my$m=sub{$#_?$_[0]{$n}=$_[1]:$_[0]{$n}};$m=$o{$_}->($m,$n,@_)for sort keys%o;*{$P.$n}=$m},%e,);*{$P.$_}=$e{$_}for keys%e;@{$P.ISA}=$M.Object};
View
2  lib/Mo/Moose.pm
@@ -1,3 +1,3 @@
package Mo::Moose;$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'Moose::e'}=sub{my($P,$e)=@_;$P=~s/::$//;%$e=(M=>1);require Moose;Moose->import({into=>$P});Moose::Util::MetaRole::apply_metaroles(for=>$P,class_metaroles=>{attribute=>['Attr::Trait']},)};BEGIN{package Attr::Trait;use Moose::Role;around _process_options=>sub{my$orig=shift;my$c=shift;my($n,$o)=@_;$o->{is}||='rw';$o->{lazy}||=1 if defined$o->{default}or defined$o->{builder};$c->$orig(@_)};$INC{'Attr/Trait.pm'}=1}
View
2  lib/Mo/Mouse.pm
@@ -1,3 +1,3 @@
package Mo::Mouse;$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'Mouse::e'}=sub{my($P,$e)=@_;$P=~s/::$//;%$e=(M=>1);require Mouse;require Mouse::Util::MetaRole;Mouse->import({into=>$P});Mouse::Util::MetaRole::apply_metaroles(for=>$P,class_metaroles=>{attribute=>['Attr::Trait']},)};BEGIN{package Attr::Trait;use Mouse::Role;around _process_options=>sub{my$orig=shift;my$c=shift;my($n,$o)=@_;$o->{is}||='rw';$o->{lazy}||=1 if defined$o->{default}or defined$o->{builder};$c->$orig(@_)};$INC{'Attr/Trait.pm'}=1}
View
2  lib/Mo/build.pm
@@ -1,3 +1,3 @@
package Mo::build;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'build::e'}=sub{my($P,$e)=@_;$e->{new}=sub{$c=shift;my$s=bless{@_},$c;my@B;do{@B=($c.::BUILD,@B)}while($c)=@{$c.::ISA};exists&$_&&&$_($s)for@B;$s}};
View
2  lib/Mo/builder.pm
@@ -1,3 +1,3 @@
package Mo::builder;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'builder::e'}=sub{my($P,$e,$o)=@_;$o->{builder}=sub{my($m,$n,%a)=@_;my$b=$a{builder}or return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$_[0]->$b:$m->(@_)}}};
View
2  lib/Mo/chain.pm
@@ -1,3 +1,3 @@
package Mo::chain;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'chain::e'}=sub{my($P,$e,$o)=@_;$o->{chain}=sub{my($m,$n,%a)=@_;$a{chain}or return$m;sub{$#_?($m->(@_),return$_[0]):$m->(@_)}}};
View
2  lib/Mo/coerce.pm
@@ -1,3 +1,3 @@
package Mo::coerce;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'coerce::e'}=sub{my($P,$e,$o)=@_;$o->{coerce}=sub{my($m,$n,%a)=@_;$a{coerce}or return$m;sub{$#_?$m->($_[0],$a{coerce}->($_[1])):$m->(@_)}};my$C=$e->{new}||*{$M.Object::new}{CODE};$e->{new}=sub{my$s=$C->(@_);$s->$_($s->{$_})for keys%$s;$s}};
View
2  lib/Mo/default.pm
@@ -1,3 +1,3 @@
package Mo::default;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'default::e'}=sub{my($P,$e,$o)=@_;$o->{default}=sub{my($m,$n,%a)=@_;$a{default}or return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$a{default}->(@_):$m->(@_)}}};
View
2  lib/Mo/exporter.pm
@@ -1,3 +1,3 @@
package Mo::exporter;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'exporter::e'}=sub{my($P)=@_;if(defined@{$M.EXPORT}){*{$P.$_}=\&{$M.$_}for@{$M.EXPORT}}};
View
2  lib/Mo/import.pm
@@ -1,3 +1,3 @@
package Mo::import;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
my$i=\&import;*{$M.import}=sub{(@_==2 and not $_[1])?pop@_:@_==1?push@_,grep!/import/,@f:();goto&$i};
View
2  lib/Mo/is.pm
@@ -1,3 +1,3 @@
package Mo::is;$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'is::e'}=sub{my($P,$e,$o)=@_;$o->{is}=sub{my($m,$n,%a)=@_;$a{is}or return$m;sub{$#_&&$a{is}eq 'ro'&&caller ne 'Mo::coerce'?die:$m->(@_)}}};
View
2  lib/Mo/option.pm
@@ -1,3 +1,3 @@
package Mo::option;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'option::e'}=sub{my($P,$e,$o)=@_;$o->{option}=sub{my($m,$n,%a)=@_;$a{option}or return$m;my$n2=$n;*{$P."read_$n2"}=sub{$_[0]->{$n2}};sub{$#_?$m->(@_):$m->(@_,1);$_[0]}}};
View
2  lib/Mo/required.pm
@@ -1,3 +1,3 @@
package Mo::required;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
*{$M.'required::e'}=sub{my($P,$e,$o)=@_;$o->{required}=sub{my($m,$n,%a)=@_;if($a{required}){my$C=*{$P."new"}{CODE}||*{$M.Object::new}{CODE};no warnings 'redefine';*{$P."new"}=sub{my$s=$C->(@_);my%a=@_[1..$#_];die if!$a{$n};$s}}$m}};
View
2  lib/Mo/xs.pm
@@ -1,3 +1,3 @@
package Mo::xs;my$M="Mo::";
-$VERSION=0.28;
+$VERSION=0.29;
require Class::XSAccessor;*{$M.'xs::e'}=sub{my($P,$e,$o,$f)=@_;$P=~s/::$//;$e->{has}=sub{my($n,%a)=@_;Class::XSAccessor->import(class=>$P,accessors=>{$n=>$n})}if grep!/^xs$/,@$f};
View
2  src/Mo.pm
@@ -1,6 +1,6 @@
# The first two lines are left alone in the compressed source.
package Mo;
-$VERSION = 0.28;
+$VERSION = 0.29;
# 'no' is a shorter 'use', but we really don't want warnings.
no warnings;
View
2  src/Mo/Moose.pm
@@ -1,5 +1,5 @@
package Mo::Moose;$MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'Moose::e'} = sub {
my ($caller_pkg, $exports) = @_;
View
2  src/Mo/Mouse.pm
@@ -1,5 +1,5 @@
package Mo::Mouse;$MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'Mouse::e'} = sub {
my ($caller_pkg, $exports) = @_;
View
2  src/Mo/build.pm
@@ -1,6 +1,6 @@
package Mo::build;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'build::e'} = sub {
my ($caller_pkg, $exports) = @_;
View
2  src/Mo/builder.pm
@@ -1,6 +1,6 @@
package Mo::builder;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'builder::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/chain.pm
@@ -1,6 +1,6 @@
package Mo::chain;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'chain::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/coerce.pm
@@ -1,6 +1,6 @@
package Mo::coerce;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'coerce::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/default.pm
@@ -1,6 +1,6 @@
package Mo::default;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'default::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/exporter.pm
@@ -1,6 +1,6 @@
package Mo::exporter;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'exporter::e'} = sub {
my ($caller_pkg) = @_;
View
2  src/Mo/import.pm
@@ -1,6 +1,6 @@
package Mo::import;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
my $import = \&import;
*{$MoPKG.import} = sub {
View
2  src/Mo/is.pm
@@ -1,5 +1,5 @@
package Mo::is;$MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'is::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/option.pm
@@ -1,6 +1,6 @@
package Mo::option;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'option::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/required.pm
@@ -1,6 +1,6 @@
package Mo::required;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
*{$MoPKG.'required::e'} = sub {
my ($caller_pkg, $exports, $options) = @_;
View
2  src/Mo/xs.pm
@@ -1,6 +1,6 @@
package Mo::xs;
my $MoPKG = "Mo::";
-$VERSION = 0.28;
+$VERSION = 0.29;
require Class::XSAccessor;
Please sign in to comment.
Something went wrong with that request. Please try again.