Changeset 13510

Show
Ignore:
Timestamp:
06/08/08 21:50:30 (5 years ago)
Author:
tokuhirom
Message:

added new component loader.

Location:
lang/perl/Ulgori/trunk
Files:
5 added
4 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Ulgori/trunk/config.yaml

    r13469 r13510  
    11--- 
    22'Model::Log': 
    3   log_path: /Users/tokuhirom/share/irclog/others/[% date.year | format('%04d') %].[% date.month | format('%02d') %].[% date.day | format('%02d') %].txt 
    4   log_encoding: euc-jp 
     3  path: /Users/tokuhirom/share/irclog/others/[% date.year | format('%04d') %].[% date.month | format('%02d') %].[% date.day | format('%02d') %].txt 
     4  encoding: euc-jp 
    55  entries_per_page: 20 
    66'Engine': 
  • lang/perl/Ulgori/trunk/lib/Ulgori/Model/Log.pm

    r13499 r13510  
    11package Ulgori::Model::Log; 
    2 use strict; 
    3 use MooseX::Singleton; 
     2use Moose; 
    43use Ulgori::Config; 
    54use MooseX::Params::Validate; 
     
    98use Ulgori::Util; 
    109 
     10has path => ( 
     11    is       => 'ro', 
     12    isa      => 'Str', 
     13    required => 1, 
     14); 
     15 
     16has encoding => ( 
     17    is       => 'ro', 
     18    isa      => 'Str', 
     19    required => 1, 
     20); 
     21 
     22has entries_per_page => ( 
     23    is       => 'ro', 
     24    isa      => 'Int', 
     25    required => 1, 
     26); 
     27 
    1128sub retrieve_all { 
    12     my ($class, %args) = @_; 
     29    my ($self, %args) = @_; 
    1330    my $keyword = delete $args{keyword}; 
    14     my $log_fname = _log_fname(date => $args{date}); 
     31    my $log_fname = $self->_log_fname(date => $args{date}); 
    1532    if (-f $log_fname) { 
    16         return _read_logs( 
     33        return $self->_read_logs( 
    1734            fname   => $log_fname, 
    1835            keyword => $args{keyword}, 
     
    3047 
    3148sub _read_logs { 
     49    my $self = shift; 
    3250    my %args = validate(\@_ => ( 
    3351        fname   => {is => 'Str', required => 1}, 
     
    3856    my @res      = (); 
    3957 
    40     my $entries_per_page = config->{entries_per_page} or die "entries_per_page missing"; 
    41     my $encoding         = config->{log_encoding}     or die "log_encoding missing"; 
     58    my $entries_per_page = $self->entries_per_page; 
     59    my $encoding         = $self->encoding; 
    4260 
    4361    open my $fh, '<', $args{fname} or die "$! $args{fname}"; 
     
    6078 
    6179sub _log_fname { 
     80    my $self = shift; 
    6281    my %params = validate(\@_, 
    6382        date => { isa => 'DateTime', required => 1 }, 
    6483    ); 
    65     my $log_path = config->{log_path}; 
    6684    my $tt = Template->new; 
    67     $tt->process(\$log_path, \%params, \my $fname) or die $tt->error; 
     85    $tt->process(\( $self->path ), \%params, \my $fname) or die $tt->error; 
    6886    $fname; 
    6987} 
    7088 
     89no Moose; 
     90__PACKAGE__->meta->make_immutable; 
    71911; 
  • lang/perl/Ulgori/trunk/lib/Ulgori/Web/C/Root.pm

    r13507 r13510  
    44use DateTime; 
    55use Ulgori::Web::View; 
     6use Ulgori::ComponentManager::Singleton; 
    67 
    78sub dispatch_index { 
     
    1011    my $date = $self->_date($c); 
    1112 
    12     my $rs = Ulgori::Model::Log->instance->retrieve_all( 
     13    my $log = Ulgori::ComponentManager::Singleton->get('Model::Log'); 
     14 
     15    my $rs = $log->retrieve_all( 
    1316        date    => $date, 
    1417        keyword => $c->req->params->{keyword} || undef, 
  • lang/perl/Ulgori/trunk/ulgori.pl

    r13503 r13510  
    1515use Ulgori::Web::Handler; 
    1616use Ulgori::Config; 
     17use Ulgori::ComponentManager::Singleton; 
     18 
     19Ulgori::ComponentManager::Singleton->get( 'Model::Log' ); # preload. 
    1720 
    1821my $cfg = Ulgori::Config->instance;