Show
Ignore:
Timestamp:
04/19/08 20:47:34 (5 years ago)
Author:
yappo
Message:

lang/perl/Data-CodeRepos?-CommitPing?: new だけ作った

Location:
lang/perl/Data-CodeRepos-CommitPing/trunk
Files:
10 added
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Data-CodeRepos-CommitPing/trunk/MANIFEST

    r9707 r9901  
    2222README 
    2323t/00_compile.t 
     24t/01_parse.t 
     25t/01_parse_cgi.t 
     26t/01_parse_hash.t 
     27t/revs/9734.txt 
     28t/revs/9741.txt 
     29t/revs/9749.txt 
     30t/revs/9754.txt 
     31t/revs/9879.txt 
     32t/revs/9895.txt 
  • lang/perl/Data-CodeRepos-CommitPing/trunk/Makefile.PL

    r9707 r9901  
    33all_from 'lib/Data/CodeRepos/CommitPing.pm'; 
    44 
    5 requires $_ for (qw/ /); 
     5requires $_ for (qw/ 
     6    DateTime 
     7    DateTime::Format::HTTP 
     8    YAML 
     9/); 
    610 
    711build_requires 'Test::More'; 
  • lang/perl/Data-CodeRepos-CommitPing/trunk/lib/Data/CodeRepos/CommitPing.pm

    r9707 r9901  
    44use warnings; 
    55our $VERSION = '0.01'; 
     6 
     7use Carp; 
     8use DateTime; 
     9use DateTime::Format::HTTP; 
     10use YAML; 
     11 
     12sub new { 
     13    my($class, $stuff) = @_; 
     14    croak 'usage: Data::CodeRepos::CommitPing->new($coderepos_commit_data)' unless $stuff; 
     15     
     16    unless (ref $stuff eq 'HASH') { 
     17        if (ref $stuff) { 
     18            # if CGI object 
     19            $stuff = eval { $stuff->param('yaml') }; 
     20            croak "bad object: $@" if $@; 
     21        } 
     22        $stuff = Load($stuff); 
     23    } 
     24 
     25    for my $key (qw/ author comment date files rev /) { 
     26        croak 'invalid CodeRepos commit ping format' unless defined $stuff->{$key}; 
     27    } 
     28 
     29    $stuff->{date} = DateTime::Format::HTTP->parse_datetime($stuff->{date}); 
     30 
     31    bless { %$stuff }, $class; 
     32} 
     33 
     34sub revision { shift->{rev} } 
     35*rev = \&revision; 
    636 
    7371;