MooseX-Storage

 view release on metacpan or  search on metacpan

t/001_basic.t  view on Meta::CPAN

    package Foo;
    use Moose;
    use MooseX::Storage;

    with Storage;

    has 'number'  => ( is => 'ro', isa => 'Int' );
    has 'string'  => ( is => 'ro', isa => 'Str' );
    has 'boolean' => ( is => 'ro', isa => 'Bool' );
    has 'float'   => ( is => 'ro', isa => 'Num' );
    has 'array'   => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'    => ( is => 'ro', isa => 'HashRef' );
    has 'object'  => ( is => 'ro', isa => 'Foo' );
    has 'union'   => ( is => 'ro', isa => 'ArrayRef|Str' );
    has 'union2'   => ( is => 'ro', isa => 'ArrayRef|Str' );
}

{
    my $foo = Foo->new(
        number  => 10,
        string  => 'foo',
        boolean => 1,
        float   => 10.5,
        array   => [ 1 .. 10 ],
        hash    => { map { $_ => undef } ( 1 .. 10 ) },

t/002_basic_io.t  view on Meta::CPAN

    use MooseX::Storage;

    with Storage(
        format => 'JSON',
        io     => 'File',
    );

    has 'number' => (is => 'ro', isa => 'Int');
    has 'string' => (is => 'ro', isa => 'Str');
    has 'float'  => (is => 'ro', isa => 'Num');
    has 'array'  => (is => 'ro', isa => 'ArrayRef');
    has 'hash'   => (is => 'ro', isa => 'HashRef');
    has 'object' => (is => 'ro', isa => 'Object');
}

my $file = catfile($dir, 'temp.json');

{
    my $foo = Foo->new(
        number => 10,
        string => 'foo',
        float  => 10.5,

t/010_basic_json.t  view on Meta::CPAN

{
    package Foo;
    use Moose;
    use MooseX::Storage;

    with Storage( 'format' => 'JSON' );

    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Object' );
}

{
    my $foo = Foo->new(
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],
        hash   => { map { $_ => undef } ( 1 .. 10 ) },

t/020_basic_yaml.t  view on Meta::CPAN

{
    package Foo;
    use Moose;
    use MooseX::Storage;

    with Storage( 'format' => 'YAML' );

    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Object' );
}

{
    my $foo = Foo->new(
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],
        hash   => { map { $_ => undef } ( 1 .. 10 ) },

t/020_basic_yaml_syck.t  view on Meta::CPAN

{
    package Foo;
    use Moose;
    use MooseX::Storage;

    with Storage( 'format' => 'YAML' );

    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Object' );
}

{
    my $foo = Foo->new(
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],
        hash   => { map { $_ => undef } ( 1 .. 10 ) },

t/020_basic_yaml_xs.t  view on Meta::CPAN

{
    package Foo;
    use Moose;
    use MooseX::Storage;

    with Storage( 'format' => 'YAML' );

    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Object' );
}

{
    my $foo = Foo->new(
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],
        hash   => { map { $_ => undef } ( 1 .. 10 ) },

t/030_with_checksum.t  view on Meta::CPAN

{
    package Foo;
    use Moose;
    use MooseX::Storage;

    with Storage(base => 'WithChecksum', format => "JSON");

    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Foo' );
}

{
    my $foo = Foo->new(
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],
        hash   => { map { $_ => undef } ( 1 .. 10 ) },

t/050_basic_storable.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with Storage( 'format' => 'Storable' );

    has 'unset'  => ( is => 'ro', isa => 'Any' );
    has 'undef'  => ( is => 'ro', isa => 'Any' );
    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Object' );
}

{
    my $foo = Foo->new(
        undef  => undef,
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],

t/060_basic_deferred.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with 'MooseX::Storage::Deferred';

    has 'unset'  => ( is => 'ro', isa => 'Any' );
    has 'undef'  => ( is => 'ro', isa => 'Any' );
    has 'number' => ( is => 'ro', isa => 'Int' );
    has 'string' => ( is => 'ro', isa => 'Str' );
    has 'float'  => ( is => 'ro', isa => 'Num' );
    has 'array'  => ( is => 'ro', isa => 'ArrayRef' );
    has 'hash'   => ( is => 'ro', isa => 'HashRef' );
    has 'object' => ( is => 'ro', isa => 'Object' );
}

{
    my $foo = Foo->new(
        undef => undef,
        number => 10,
        string => 'foo',
        float  => 10.5,
        array  => [ 1 .. 10 ],

t/061_basic_deferred_w_io.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with 'MooseX::Storage::Deferred';

    has 'unset'  => ( is => 'ro', isa => 'Any' );
    has 'undef'  => ( is => 'ro', isa => 'Any' );
    has 'number' => (is => 'ro', isa => 'Int');
    has 'string' => (is => 'ro', isa => 'Str');
    has 'float'  => (is => 'ro', isa => 'Num');
    has 'array'  => (is => 'ro', isa => 'ArrayRef');
    has 'hash'   => (is => 'ro', isa => 'HashRef');
    has 'object' => (is => 'ro', isa => 'Object');
}

my $file = catfile($dir, 'temp.json');

{
    my $foo = Foo->new(
        undef  => undef,
        number => 10,
        string => 'foo',

t/070_basic_maybe.t  view on Meta::CPAN

    use MooseX::Storage;

    with Storage;

    has 'unset'   => ( is => 'ro', isa => 'Any' );
    has 'undef'   => ( is => 'ro', isa => 'Any' );
    has 'number'  => ( is => 'ro', isa => 'Maybe[Int]' );
    has 'string'  => ( is => 'ro', isa => 'Maybe[Str]' );
    has 'boolean' => ( is => 'ro', isa => 'Maybe[Bool]' );
    has 'float'   => ( is => 'ro', isa => 'Maybe[Num]' );
    has 'array'   => ( is => 'ro', isa => 'Maybe[ArrayRef]' );
    has 'hash'    => ( is => 'ro', isa => 'Maybe[HashRef]' );
    has 'object'  => ( is => 'ro', isa => 'Maybe[Foo]' );
}

{
    my $foo = Foo->new(
        undef   => undef,
        number  => 10,
        string  => 'foo',
        boolean => 1,
        float   => 10.5,

t/100_io.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with Storage(format => 'JSON', io => 'File');

    has 'unset'  => (is => 'ro', isa => 'Any');
    has 'undef'  => (is => 'ro', isa => 'Any');
    has 'number' => (is => 'ro', isa => 'Int');
    has 'string' => (is => 'ro', isa => 'Str');
    has 'float'  => (is => 'ro', isa => 'Num');
    has 'array'  => (is => 'ro', isa => 'ArrayRef');
    has 'hash'   => (is => 'ro', isa => 'HashRef');
    has 'object' => (is => 'ro', isa => 'Object');
}

my $file = catfile( $dir, 'temp.json' );

{
    my $foo = Foo->new(
        undef  => undef,
        number => 10,
        string => 'foo',

t/101_io_atomic.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with Storage(format => 'JSON', io => 'AtomicFile');

    has 'unset'  => (is => 'ro', isa => 'Any');
    has 'undef'  => (is => 'ro', isa => 'Any');
    has 'number' => (is => 'ro', isa => 'Int');
    has 'string' => (is => 'ro', isa => 'Str');
    has 'float'  => (is => 'ro', isa => 'Num');
    has 'array'  => (is => 'ro', isa => 'ArrayRef');
    has 'hash'   => (is => 'ro', isa => 'HashRef');
    has 'object' => (is => 'ro', isa => 'Object');
}

my $file = catfile($dir,'temp.json');

{
    my $foo = Foo->new(
        undef  => undef,
        number => 10,
        string => 'foo',

t/102_io_storable_file.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with Storage(io => 'StorableFile');

    has 'unset'  => ( is => 'ro', isa => 'Any' );
    has 'undef'  => ( is => 'ro', isa => 'Any' );
    has 'number' => (is => 'ro', isa => 'Int');
    has 'string' => (is => 'ro', isa => 'Str');
    has 'float'  => (is => 'ro', isa => 'Num');
    has 'array'  => (is => 'ro', isa => 'ArrayRef');
    has 'hash'   => (is => 'ro', isa => 'HashRef');
    has 'object' => (is => 'ro', isa => 'Object');
}

my $file = catfile($dir,'temp.storable');

{
    my $foo = Foo->new(
        undef  => undef,
        number => 10,
        string => 'foo',

t/103_io_storable_file_custom.t  view on Meta::CPAN

    use Moose;
    use MooseX::Storage;

    with Storage(io => 'StorableFile');

    has 'unset'  => ( is => 'ro', isa => 'Any' );
    has 'undef'  => ( is => 'ro', isa => 'Any' );
    has 'number' => (is => 'ro', isa => 'Int');
    has 'string' => (is => 'rw', isa => 'Str');
    has 'float'  => (is => 'ro', isa => 'Num');
    has 'array'  => (is => 'ro', isa => 'ArrayRef');
    has 'hash'   => (is => 'ro', isa => 'HashRef');
    has 'object' => (is => 'ro', isa => 'Object');

    ## add some custom freeze/thaw hooks here ...

    sub thaw {
        my ( $class, $data ) = @_;
        my $self = $class->unpack( $data );
        $self->string("Hello World");
        $self;
    }



( run in 0.781 second using v1.01-cache-2.11-cpan-5f2e87ce722 )