Codebase list libobject-declare-perl / c648e46
version 0.22 ☻ 唐鳳 ☺ authored 17 years ago Shlomi Fish committed 8 years ago
4 changed file(s) with 23 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
0 [Changes for 0.22 - 2007-02-09]
1
2 * Allow declarations in copula callbacks as return value:
3
4 copula => foo => sub { bar is 1, baz is 2 }
5
6 * No longer raise bogus "overload method not found" errors
7 when paritally-formed declarations objects is e.g. printed
8 out for debugging purposes.
9
010 [Changes for 0.21 - 2007-01-26]
111
212 * Helper functions for mapping keys are no longer present within
1414 requires:
1515 Sub::Override: 0
1616 perl: 5.6.0
17 version: 0.21
17 version: 0.22
1313 -----BEGIN PGP SIGNED MESSAGE-----
1414 Hash: SHA1
1515
16 SHA1 ac6b2d5098dce6c70387a6440f792d5b9daf2177 Changes
16 SHA1 a049149d9a256006ada325ead23649f07b71c2bd Changes
1717 SHA1 40d1ebae7cdb431253e1241b0155b5ca3e7e40e7 MANIFEST
18 SHA1 560ab72168f0efd0a65ff31c1ebf28e7894bde16 META.yml
18 SHA1 a28b53f6f26ec84a9865ba3a05fe190bad92a54b META.yml
1919 SHA1 1a54f68d0117308f14369bc50a72cf299e59b7f0 Makefile.PL
2020 SHA1 ad77dd040af8cfdfb5f9b319bccb7efa076cd5c0 README
2121 SHA1 9b2f9d83bcf77860f53a0c07c90a4a59ad9f5df1 inc/Module/Install.pm
3131 SHA1 a9037004a2c3096d77169a16da95743eeb813539 inc/Test/Builder/Module.pm
3232 SHA1 45d0149fee8d12082d0aa00fd9202f4b29126824 inc/Test/More.pm
3333 SHA1 e3ccbc21f5ea44e5e64f3d3d19a8850804d5c012 inc/ok.pm
34 SHA1 05ea0b76ff6c80e6d450b44bbe22df34f198659b lib/Object/Declare.pm
34 SHA1 4597739f9072aea6d3972edee9fa0e06d0c207b4 lib/Object/Declare.pm
3535 SHA1 c7373bde3d94e5604b5656922d256b7666036990 t/01-basic.t
3636 -----BEGIN PGP SIGNATURE-----
3737 Version: GnuPG v1.4.3 (Darwin)
3838
39 iD8DBQFFufHLtLPdNzw1AaARAvuxAKCxzX3w4X8zvOqY3PryPCh2VZx0hACfeIXK
40 FM2B5tm9pYMT+Q1Sae1jBLk=
41 =pkyF
39 iD8DBQFFy/J0tLPdNzw1AaARAj7HAJ9svTNRjxXvA607VtKR3o+4ozQEowCfTiUJ
40 N5+iuG7UzqeXMhUyfTVHl+I=
41 =TUk6
4242 -----END PGP SIGNATURE-----
33 use strict;
44 use warnings;
55
6 $Object::Declare::VERSION = '0.21';
6 $Object::Declare::VERSION = '0.22';
77
88 sub import {
99 my $class = shift;
110110 $replace->( "UNIVERSAL::$sym" => sub {
111111 # Turn "is some_field" into "some_field is 1"
112112 my ($key, @vals) = ref($prefix) ? $prefix->(@_) : ($prefix.$_[0] => 1) or return;
113
113 # If the copula returns a ready-to-use katamari object,
114 # don't try to roll it by ourself.
115 return $key
116 if ref($key) && ref($key) eq 'Object::Declare::Katamari';
114117 $key = $aliases->{$key} if $aliases and exists $aliases->{$key};
115118 unshift @vals, $key;
116119 bless( \@vals => 'Object::Declare::Katamari' );
194197
195198 package Object::Declare::Katamari;
196199
197 use overload "!" => \&negation;
200 use overload "!" => \&negation, fallback => 1;
198201
199202 sub negation {
200203 my @katamari = @{$_[0]} or return ();