Shawn M Moore > Jifty > Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata

Download:
Jifty-1.10518.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  13
Open  4
Stalled  1
View/Report Bugs
Source  

NAME ^

Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata - ActorMetadata mixin

SYNOPSIS ^

  package MyApp::Model::CoffeeShop;
  use Jifty::DBI::Schema;
  use MyApp::Record schema {
      # custom column definitions
  };

  use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata; # created_by, created_on, updated_on and updated_by

DESCRIPTION ^

SCHEMA ^

This mixin adds the following columns to the model schema:

created_by

created_on

updated_on

updated_by

METHODS ^

# XXX: pod coverage should count parent classes. this pod is useless

register_triggers

Adds the triggers to the model this mixin is added to.

register_triggers_for_column

before_create

Sets created_by, created_on, updated_on and updated_by based on the current user and time.

after_set

update updated_on and updated_by based on the current user and current time.

current_user_can

Rejects creation unless there's a current_user.

current_user_is_owner

import

to be more flexible, we allow some configurations like: e.g. use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata user_class => 'Foo::Model::Principal', map => { created_by => 'creator', created_on => 'created' }

current valid args are: user_class => 'Foo::Model::User' class that you want created_by and updated_by to be refers_to map => { created_by => 'creator', ... } the real column name you want to use. this also controls whether a column will be added or not. i.e. if the hashref is { created_by => 'creator', created_on => 'created' }, then columns 'updated_by' and 'updated_on' will not be added.

syntax highlighting: