Show
Ignore:
Timestamp:
09/01/08 19:33:58 (4 months ago)
Author:
ogawa
Message:

Use accessors instead of directly accessing object fields.
Modify Event constructors' parameters so as to be subjected to Cybozu scripting.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar/Event.pm

    r505 r518  
    1919 
    2020__PACKAGE__->mk_accessors( 
    21     qw( id start end summary description created modified is_full_day comment ) 
     21    qw( id start end summary description created time_zone modified is_full_day comment ) 
    2222); 
    2323 
     
    2525    my ( $this, %param ) = @_; 
    2626 
    27     $this->{id}        = $param{id}        || '0'; 
    28     $this->{time_zone} = $param{time_zone} || 'Asia/Tokyo'; 
     27    $this->id( $param{id}               || '0' ); 
     28    $this->time_zone( $param{time_zone} || 'Asia/Tokyo' ); 
    2929 
    30     my $start = $this->to_datetime( $param{start_date}, $param{start_time} ); 
    31     my $end   = $this->to_datetime( $param{end_date},   $param{end_time} ); 
     30    my $start = $this->to_datetime( $param{set_date}, $param{set_time} ); 
     31    my $end   = $this->to_datetime( $param{end_date}, $param{end_time} ); 
    3232    return unless $start && $end; 
    3333 
    34     # (start_time == empty) => A full-day event 
    35     # (start_time != empty) && (end_time == empty) => A malformed event 
    36     if ( $param{start_time} eq ':' ) { 
     34    # (set_time == empty) => A full-day event 
     35    # (set_time != empty) && (end_time == empty) => A malformed event 
     36    if ( $param{set_time} eq ':' ) { 
    3737        $start = $start->truncate( to => 'day' ); 
    3838        $end = $end->add( days => 1 )->truncate( to => 'day' ); 
    39         $this->{is_full_day} = 1; 
     39        $this->is_full_day(1); 
    4040    } 
    4141    elsif ( $param{end_time} eq ':' ) { 
    4242        $end = $start->clone->add( minutes => 10 ); 
    4343    } 
    44     $this->{start} = $start; 
    45     $this->{end}   = $end; 
     44    $this->start($start); 
     45    $this->end($end); 
    4646 
    47     $this->{created} = DateTime->from_epoch( epoch => $param{created} || 0 ); 
     47    $param{timestamp} =~ s/^ts\.//;    # remove rubbish 
     48    $this->created( DateTime->from_epoch( epoch => $param{timestamp} || 0 ) ); 
    4849 
    4950    my $summary = 
    50       ( $param{abbrev} ? $param{abbrev} . ': ' : '' ) . $param{summary}; 
    51     $this->{summary} = $summary; 
    52     $this->{description} = $param{description} || $summary; 
     51      ( $param{event} ? $param{event} . ': ' : '' ) . $param{detail}; 
     52    $this->summary($summary); 
     53    $this->description( $param{memo} || $summary ); 
    5354    1; 
    5455} 
     
    7576    } 
    7677 
    77     $args{time_zone} = $this->{time_zone}; 
     78    $args{time_zone} = $this->time_zone; 
    7879 
    7980    DateTime->new(%args);