NAME
Mango::Provider::Roles - Provider class for user role information
SYNOPSIS
my $provider = Mango::Provider::Roles->new;
my $role = $provider->get_by_id(23);
DESCRIPTION
Mango::Provider::Roles is the provider class responsible for creating, deleting, updating and searching user role information.
CONSTRUCTOR
new
Creates a new role provider object. If options are passed to new, those are sent to setup
.
my $provider = Mango::Provider::Roles->new;
See "new" in Mango::Provider and "new" in Mango::Provider::DBIC for a list of other possible options.
METHODS
add_user
Adds the specified users to the specified role. users
can be user objects or user ids and role
can be a role object or a role id.
my $role = $provider->get_by_id(23);
$provider->add_users($role, 23, $user);
add_users
Same as "add_user".
create
Creates a new Mango::Role object using the supplied data.
my $role = $provider->create({
name => 'Editors',
description => 'Can edit content'
});
print $role->name;
delete
Deletes roles from the provider matching the supplied filter.
$provider->delete({
name => 'Editors'
});
get_by_id
Returns a Mango::Role object matching the specified id.
my $role = $provider->get_by_id(23);
Returns undef if no matching role can be found.
remove_user
Removes the specified users from the specified role. users
can be user objects or user ids and role
can be a role object or a role id.
my $role = $provider->get_by_id(23);
$provider->remove_users($role, 23, $user);
remove_users
Same as "remove_user".
search
Returns a list of Mango::Role objects in list context, or a Mango::Iterator in scalar context matching the specified filter.
my @roles = $provider->search({
name => 'A%'
});
my $iterator = $provider->search({
name => 'A%'
});
In addition to using the column names, the following special keys are available:
- user
-
This can be a user id, or a user object for which roles are assigned to.
my @roles = $provider->search({ user => $user }); my $roles = $provider->search({ user => $user });
See "ATTRIBUTES" in DBIx::Class::Resultset for a list of other possible options.
update
Sets the 'updated' column to DateTime->now and saves any changes made to the role back to the underlying store.
my $role = $provider->create(\%data);
$role->description('My New Role');
$provider->update($role);
SEE ALSO
Mango::Provider, Mango::Provider::DBIC, Mango::Role, DBIx::Class
AUTHOR
Christopher H. Laco
CPAN ID: CLACO
claco@chrislaco.com
http://today.icantfocus.com/blog/