- SEE ALSO
- COPYRIGHT AND LICENSE
DBIx::NoSQL::Store::Manager - DBIx::NoSQL as a Moose object store
package MyStore; use Moose; extends 'DBIx::NoSQL::Store::Manager'; __PACKAGE__->meta->make_immutable;
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.
Creates a new store manager.
- models => \@classes
- models => $class
Classes to be imported as models for the store. Namespaces can also be given with a trailing
::, in which case all modules found under that namespace will be imported. If only one class is to be used, it can be passed as a single string.
If not given, defaults to the
Modelsub-namespace under the store's (e.g., for store class
MyStore, that would be
my $store = MyStore->new; # will import MyStore::Model::* my $store = MyStore->new( models => [ 'Foo::Bar', 'Something::Else' ] ); # imports specific classes my $store = MyStore->new( models => [ 'Foo::Bar', 'MyStore::Model::' ] ); # imports Foo::Bar and all classes under MyStore::Model::*
Returns the name of all models known to the store.
Returns the full class name of all models known to the store.
Returns the full class name of the given model.
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 a new model object and save it. Morally equivalent to
$store->new_model_object( $model, @args )->save;
Returns the new object.
* Original blog entry introducing the module: http://babyl.dyndns.org/techblog/entry/shaving-the-white-whale
Yanick Champoux <firstname.lastname@example.org>
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.