Jifty::Plugin::SiteNews::Mixin::Model::News - News model


Jifty-Plugin-SiteNews documentation Contained in the Jifty-Plugin-SiteNews distribution.

Index


Code Index:

NAME

Top

Jifty::Plugin::SiteNews::Mixin::Model::News - News model

create

Create the News model. Takes a paramhash with keys author_id, created, title, and content.

as_atom_entry

Returns the task as an XML::Atom::Entry object.


Jifty-Plugin-SiteNews documentation Contained in the Jifty-Plugin-SiteNews distribution.
use strict;
use warnings;

package Jifty::Plugin::SiteNews::Mixin::Model::News;
use Jifty::DBI::Schema;
use base 'Jifty::DBI::Record::Plugin';

our @EXPORT = qw(create as_atom_entry);

use Jifty::Record schema {

column created   =>
  type is 'timestamp',
  filters are qw( Jifty::Filter::DateTime Jifty::DBI::Filter::DateTime),
  label is 'Created on',
  is protected;
column title     =>
  type is 'text',
  label is 'Title';
column content   =>
  type is 'text',
  label is 'Article',
  render_as is 'Textarea';
};

sub create {
    my $self = shift;
    my %args = (
        title     => undef,
        content   => undef,
        @_,
        created   => DateTime->now,
    );

    $self->SUPER::create(%args);
}

sub as_atom_entry {
    my $self = shift;

    my $entry = XML::Atom::Entry->new;
    $entry->title( $self->title );
    $entry->content( $self->content);
    return $entry;
}

1;