Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Released version 0.27

  • Loading branch information...
commit cbfa71a4057eedfa5f67ce2732446776fc4a2191 1 parent 6ec2fcf
@ingydotnet authored
View
5 Changes
@@ -1,4 +1,9 @@
---
+version: 0.27
+date: Thu Oct 6 10:33:29 EDT 2011
+changes:
+- forwardever++ added Mo::chain
+---
version: 0.26
date: Mon Oct 3 18:03:21 BST 2011
changes:
View
2  lib/Mo.pm
@@ -1,3 +1,3 @@
package Mo;
-$VERSION=0.26;
+$VERSION=0.27;
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@_;%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/Golf.pm
@@ -11,7 +11,7 @@ use strict;
use warnings;
package Mo::Golf;
-our $VERSION = '0.26';
+our $VERSION = '0.27';
use PPI;
View
2  lib/Mo/Inline.pm
@@ -10,7 +10,7 @@
package Mo::Inline;
use Mo;
-our $VERSION = 0.26;
+our $VERSION = 0.27;
use IO::All;
View
2  lib/Mo/build.pm
@@ -1,3 +1,3 @@
package Mo::build;my$M="Mo::";
-$VERSION=0.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
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.26;
+$VERSION=0.27;
*{$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/required.pm
@@ -1,3 +1,3 @@
package Mo::required;my$M="Mo::";
-$VERSION=0.26;
+$VERSION=0.27;
*{$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.26;
+$VERSION=0.27;
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.26;
+$VERSION = 0.27;
# 'no' is a shorter 'use', but we really don't want warnings.
no warnings;
View
2  src/Mo/build.pm
@@ -1,6 +1,6 @@
package Mo::build;
my $MoPKG = "Mo::";
-$VERSION = 0.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
my $import = \&import;
*{$MoPKG.import} = sub {
View
2  src/Mo/is.pm
@@ -1,5 +1,5 @@
package Mo::is;$MoPKG = "Mo::";
-$VERSION = 0.26;
+$VERSION = 0.27;
*{$MoPKG.'is::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.26;
+$VERSION = 0.27;
*{$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.26;
+$VERSION = 0.27;
require Class::XSAccessor;
Please sign in to comment.
Something went wrong with that request. Please try again.