version 0.22
☻ 唐鳳 ☺ authored 17 years ago
Shlomi Fish committed 8 years ago
|
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 |
|
0 | 10 |
[Changes for 0.21 - 2007-01-26]
|
1 | 11 |
|
2 | 12 |
* Helper functions for mapping keys are no longer present within
|
14 | 14 |
requires:
|
15 | 15 |
Sub::Override: 0
|
16 | 16 |
perl: 5.6.0
|
17 | |
version: 0.21
|
|
17 |
version: 0.22
|
13 | 13 |
-----BEGIN PGP SIGNED MESSAGE-----
|
14 | 14 |
Hash: SHA1
|
15 | 15 |
|
16 | |
SHA1 ac6b2d5098dce6c70387a6440f792d5b9daf2177 Changes
|
|
16 |
SHA1 a049149d9a256006ada325ead23649f07b71c2bd Changes
|
17 | 17 |
SHA1 40d1ebae7cdb431253e1241b0155b5ca3e7e40e7 MANIFEST
|
18 | |
SHA1 560ab72168f0efd0a65ff31c1ebf28e7894bde16 META.yml
|
|
18 |
SHA1 a28b53f6f26ec84a9865ba3a05fe190bad92a54b META.yml
|
19 | 19 |
SHA1 1a54f68d0117308f14369bc50a72cf299e59b7f0 Makefile.PL
|
20 | 20 |
SHA1 ad77dd040af8cfdfb5f9b319bccb7efa076cd5c0 README
|
21 | 21 |
SHA1 9b2f9d83bcf77860f53a0c07c90a4a59ad9f5df1 inc/Module/Install.pm
|
|
31 | 31 |
SHA1 a9037004a2c3096d77169a16da95743eeb813539 inc/Test/Builder/Module.pm
|
32 | 32 |
SHA1 45d0149fee8d12082d0aa00fd9202f4b29126824 inc/Test/More.pm
|
33 | 33 |
SHA1 e3ccbc21f5ea44e5e64f3d3d19a8850804d5c012 inc/ok.pm
|
34 | |
SHA1 05ea0b76ff6c80e6d450b44bbe22df34f198659b lib/Object/Declare.pm
|
|
34 |
SHA1 4597739f9072aea6d3972edee9fa0e06d0c207b4 lib/Object/Declare.pm
|
35 | 35 |
SHA1 c7373bde3d94e5604b5656922d256b7666036990 t/01-basic.t
|
36 | 36 |
-----BEGIN PGP SIGNATURE-----
|
37 | 37 |
Version: GnuPG v1.4.3 (Darwin)
|
38 | 38 |
|
39 | |
iD8DBQFFufHLtLPdNzw1AaARAvuxAKCxzX3w4X8zvOqY3PryPCh2VZx0hACfeIXK
|
40 | |
FM2B5tm9pYMT+Q1Sae1jBLk=
|
41 | |
=pkyF
|
|
39 |
iD8DBQFFy/J0tLPdNzw1AaARAj7HAJ9svTNRjxXvA607VtKR3o+4ozQEowCfTiUJ
|
|
40 |
N5+iuG7UzqeXMhUyfTVHl+I=
|
|
41 |
=TUk6
|
42 | 42 |
-----END PGP SIGNATURE-----
|
3 | 3 |
use strict;
|
4 | 4 |
use warnings;
|
5 | 5 |
|
6 | |
$Object::Declare::VERSION = '0.21';
|
|
6 |
$Object::Declare::VERSION = '0.22';
|
7 | 7 |
|
8 | 8 |
sub import {
|
9 | 9 |
my $class = shift;
|
|
110 | 110 |
$replace->( "UNIVERSAL::$sym" => sub {
|
111 | 111 |
# Turn "is some_field" into "some_field is 1"
|
112 | 112 |
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';
|
114 | 117 |
$key = $aliases->{$key} if $aliases and exists $aliases->{$key};
|
115 | 118 |
unshift @vals, $key;
|
116 | 119 |
bless( \@vals => 'Object::Declare::Katamari' );
|
|
194 | 197 |
|
195 | 198 |
package Object::Declare::Katamari;
|
196 | 199 |
|
197 | |
use overload "!" => \&negation;
|
|
200 |
use overload "!" => \&negation, fallback => 1;
|
198 | 201 |
|
199 | 202 |
sub negation {
|
200 | 203 |
my @katamari = @{$_[0]} or return ();
|