Changeset 13510
- Timestamp:
- 06/08/08 21:50:30 (5 years ago)
- Location:
- lang/perl/Ulgori/trunk
- Files:
-
- 5 added
- 4 modified
-
config.yaml (modified) (1 diff)
-
lib/Ulgori/ComponentManager (added)
-
lib/Ulgori/ComponentManager/Singleton.pm (added)
-
lib/Ulgori/Model/Log.pm (modified) (5 diffs)
-
lib/Ulgori/Web/C/Root.pm (modified) (2 diffs)
-
t/ComponentManager (added)
-
t/ComponentManager/Singleton.t (added)
-
t/ComponentManager/config.yaml (added)
-
ulgori.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Ulgori/trunk/config.yaml
r13469 r13510 1 1 --- 2 2 'Model::Log': 3 log_path: /Users/tokuhirom/share/irclog/others/[% date.year | format('%04d') %].[% date.month | format('%02d') %].[% date.day | format('%02d') %].txt4 log_encoding: euc-jp3 path: /Users/tokuhirom/share/irclog/others/[% date.year | format('%04d') %].[% date.month | format('%02d') %].[% date.day | format('%02d') %].txt 4 encoding: euc-jp 5 5 entries_per_page: 20 6 6 'Engine': -
lang/perl/Ulgori/trunk/lib/Ulgori/Model/Log.pm
r13499 r13510 1 1 package Ulgori::Model::Log; 2 use strict; 3 use MooseX::Singleton; 2 use Moose; 4 3 use Ulgori::Config; 5 4 use MooseX::Params::Validate; … … 9 8 use Ulgori::Util; 10 9 10 has path => ( 11 is => 'ro', 12 isa => 'Str', 13 required => 1, 14 ); 15 16 has encoding => ( 17 is => 'ro', 18 isa => 'Str', 19 required => 1, 20 ); 21 22 has entries_per_page => ( 23 is => 'ro', 24 isa => 'Int', 25 required => 1, 26 ); 27 11 28 sub retrieve_all { 12 my ($ class, %args) = @_;29 my ($self, %args) = @_; 13 30 my $keyword = delete $args{keyword}; 14 my $log_fname = _log_fname(date => $args{date});31 my $log_fname = $self->_log_fname(date => $args{date}); 15 32 if (-f $log_fname) { 16 return _read_logs(33 return $self->_read_logs( 17 34 fname => $log_fname, 18 35 keyword => $args{keyword}, … … 30 47 31 48 sub _read_logs { 49 my $self = shift; 32 50 my %args = validate(\@_ => ( 33 51 fname => {is => 'Str', required => 1}, … … 38 56 my @res = (); 39 57 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; 42 60 43 61 open my $fh, '<', $args{fname} or die "$! $args{fname}"; … … 60 78 61 79 sub _log_fname { 80 my $self = shift; 62 81 my %params = validate(\@_, 63 82 date => { isa => 'DateTime', required => 1 }, 64 83 ); 65 my $log_path = config->{log_path};66 84 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; 68 86 $fname; 69 87 } 70 88 89 no Moose; 90 __PACKAGE__->meta->make_immutable; 71 91 1; -
lang/perl/Ulgori/trunk/lib/Ulgori/Web/C/Root.pm
r13507 r13510 4 4 use DateTime; 5 5 use Ulgori::Web::View; 6 use Ulgori::ComponentManager::Singleton; 6 7 7 8 sub dispatch_index { … … 10 11 my $date = $self->_date($c); 11 12 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( 13 16 date => $date, 14 17 keyword => $c->req->params->{keyword} || undef, -
lang/perl/Ulgori/trunk/ulgori.pl
r13503 r13510 15 15 use Ulgori::Web::Handler; 16 16 use Ulgori::Config; 17 use Ulgori::ComponentManager::Singleton; 18 19 Ulgori::ComponentManager::Singleton->get( 'Model::Log' ); # preload. 17 20 18 21 my $cfg = Ulgori::Config->instance;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)