NAME

DBIx::NoSQL::Store::Manager - DBIx::NoSQL as a Moose object store

VERSION

version 1.0.0

SYNOPSIS

package MyStore;

use Moose;

extends 'DBIx::NoSQL::Store::Manager';

__PACKAGE__->meta->make_immutable;

DESCRIPTION

Just like DBIx::NoSQL is a layer providing the flexibility of a NoSQL store on top of DBIx::Class, DBIx::NoSQL::Store::Manager provides a mechanism to drop and retrieve Moose objects from that store.

As can be seen in the "SYNOPSIS", the store class itself is typically fairly bare; most of the work is done by DBIx::NoSQL::Store::Manager::Model, the role the models (i.e., the classes to be stored in the database) must consume.

DBIx::NoSQL::Store::Manager extends DBIx::NoSQL and inherits all its methods.

METHODS

new( models => \@classes )

Creates a new store manager.

Arguments

model_names()

Returns the name of all models known to the store.

model_classes()

Returns the full class name of all models known to the store.

model_class( $name )

Returns the full class name of the given model.

new_model_object( $model_name, @args )

Shortcut constructor for a model class of the store. Equivalent to

my $class = $store->model_class( $model_name );
my $thingy = $class->new( store_db => $store, @args );

create( $model, @args )

Create a new model object and save it. Morally equivalent to

$store->new_model_object( $model, @args )->save;

Returns the new object.

SEE ALSO

* Original blog entry introducing the module: http://babyl.dyndns.org/techblog/entry/shaving-the-white-whale

Similar Modules

* KiokuDB

* Elastic::Model

AUTHOR

Yanick Champoux yanick@cpan.org endorse

COPYRIGHT AND LICENSE

This software is copyright (c) 2018, 2013, 2012 by Yanick Champoux.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.