Abstract-Meta-Class

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.08  Sat May 31 2008
	-  added on_validate trigger

0.07  Sat May 31 2008
	-  fix test

0.06  Sun May 25 2008
	-  Added has_<accessr>, reset_<accessor> methods for association attributes

0.05  Sun May 25 2008
	-  Fix Makefile.PL (Test::Pod, Test::Pod::Coverage)

0.04  Sat May 24 2008
	-  Fix pod documentation.
	-  Storage key option fix
	
0.03  Mon May 05 2008
	-  Fix pod documentation.


0.02  Mon May 05 2008

META.yml  view on Meta::CPAN

  - 'Adrian Witas <adrian@webapp.strefa.pl>'
abstract: Simple meta object protocol implementation.
license: perl
resources:
  license: http://dev.perl.org/licenses/
generated_by:        ExtUtils::MakeMaker version 6.3201
distribution_type:   module
requires:
    perl:                          5.6.1
    Carp:                          0
    Test::More:                    0
    Test::Pod:                     0
    Test::Pod::Coverage:           0
tests: t/* t/meta/*.t
meta-spec:
    url:     http://module-build.sourceforge.net/META-spec-v1.2.html
    version: 1.2

Makefile.PL  view on Meta::CPAN

use strict;
use 5.006;

use ExtUtils::MakeMaker;
#auto_manifest;
WriteMakefile(
    NAME         => 'Abstract::Meta::Class',
    VERSION_FROM => 'lib/Abstract/Meta/Class.pm',
    DISTNAME     => 'Abstract-Meta-Class',
    PREREQ_PM    => { 
	'Test::More' 	      => 0,
        'Carp'       	      => 0,
	'Test::Pod'           => 0,
	'Test::Pod::Coverage' => 0,
    },
    test	 => { TESTS => 't/*.t t/meta/*.t'},
    dist         => { COMPRESS => 'gzip', SUFFIX => 'gz' },
    clean        => { FILES => 'MANIFEST.bak' },
);

t/meta/array_storage/association.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More tests => 41;
    
{
    package Class;
    use Abstract::Meta::Class ':all'; storage_type 'Array';
    has '$.to_one'  => (associated_class => 'AssociatedClass');
    has '@.ordered' => (associated_class => 'AssociatedClass');
    has '%.to_many' => (associated_class => 'AssociatedClass', index_by => 'a', item_accessor => 'association');
}

{

t/meta/array_storage/attribute.t  view on Meta::CPAN


use strict;
use warnings;

use Test::More tests => 47;

{
    package Dummy;
    use Abstract::Meta::Class ':all'; storage_type 'Array';
    has '$.x';
}

my $dummy = Dummy->new;
isa_ok($dummy, 'Dummy', 'should have a Dummy instance');
ok($dummy->can('x'), 'should have an accessor for x attribute');

t/meta/array_storage/class.t  view on Meta::CPAN


use strict;
use warnings;

use Test::More tests => 7;

{
    package SuperDummy;
    use Abstract::Meta::Class ':all';
    storage_type 'Array';
    has '$.x' => (default => 'x value');
    has '$.z' => (default => 'z value');

}

t/meta/association.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More tests => 41;
    
{
    package Class;
    use Abstract::Meta::Class ':all';
    has '$.to_one'  => (associated_class => 'AssociatedClass');
    has '@.ordered' => (associated_class => 'AssociatedClass');
    has '%.to_many' => (associated_class => 'AssociatedClass', index_by => 'a', item_accessor => 'association');
}

{

t/meta/attribute.t  view on Meta::CPAN


use strict;
use warnings;

use Test::More tests => 47;

{
    package Dummy;
    use Abstract::Meta::Class ':all';
    has '$.x';
}

my $dummy = Dummy->new;
isa_ok($dummy, 'Dummy', 'should have a Dummy instance');
ok($dummy->can('x'), 'should have an accessor for x attribute');

t/meta/class.t  view on Meta::CPAN


use strict;
use warnings;

use Test::More tests => 7;

{
    package SuperDummy;
    use Abstract::Meta::Class ':all';
    has '$.x' => (default => 'x value');
    has '$.z' => (default => 'z value');

}

{

t/meta/fix.t  view on Meta::CPAN


use strict;
use warnings;

use Test::More tests => 6;

#BUG 0.09-1
#deserialized object breaks on accessing array, hash attribute perl type.

{
    package SuperDummy;
    use Abstract::Meta::Class ':all';
    has '@.x' => (default => 'x value');
    has '%.z' => (default => 'z value');
}

t/pod.t  view on Meta::CPAN

use warnings;
use strict;

use Test::Pod tests => 3;           
 
pod_file_ok( 'lib/Abstract/Meta/Class.pm', "should have value lib/Abstract/Meta/Class.pm POD file" );
pod_file_ok( 'lib/Abstract/Meta/Attribute.pm', "should have value lib/Abstract/Meta/Attribute.pm POD file" );
pod_file_ok( 'lib/Abstract/Meta/Attribute/Method.pm', "should have value lib/Abstract/Meta/Attribute/Method.pm POD file" );

t/pod_coverage.t  view on Meta::CPAN

use strict;
use warnings;

use Test::Pod::Coverage tests => 3;
pod_coverage_ok( "Abstract::Meta::Class", "should have Abstract::Meta::Class coverage");
pod_coverage_ok( "Abstract::Meta::Attribute", "should have Abstract::Meta::Attribute coverage");
pod_coverage_ok( "Abstract::Meta::Attribute::Method", "should have Abstract::Meta::Attribute::Method coverage");

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.466 second using v1.00-cache-2.02-grep-82fe00e-cpan-585fae043c8 )