Changeset 512 for cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar.pm
- Timestamp:
- 08/29/08 18:53:48 (4 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar.pm
r510 r512 19 19 my $cal = bless \%param, $class; 20 20 $cal->{url} ||= delete $cal->{cybozu_url}; 21 $cal->driver_init; 22 $cal; 23 } 24 25 sub driver_init { 26 my $cal = shift; 27 my $driver = $cal->{calendar_driver} || 'ApiCalendar'; 28 $driver = 'WWW::CybozuOffice6::CalendarDriver::' . $driver 29 if $driver !~ m/^WWW::CybozuOffice6::CalendarDriver::/; 30 eval "use $driver;"; 31 $cal->{calendar_driver} = $driver; 21 $cal->{calendar_driver} = 22 WWW::CybozuOffice6::CalendarDriverFactory->get_driver( 23 $cal->{calendar_driver} ) 24 unless ref $cal->{calendar_driver}; 32 25 $cal; 33 26 } … … 66 59 } 67 60 61 package WWW::CybozuOffice6::CalendarDriverFactory; 62 63 sub get_driver { 64 my $class = shift; 65 my ($driver_name) = @_; 66 $driver_name ||= 'ApiCalendar'; 67 $driver_name = 'WWW::CybozuOffice6::CalendarDriver::' . $driver_name 68 if $driver_name !~ m/^WWW::CybozuOffice6::CalendarDriver::/; 69 eval "use $driver_name;"; 70 $driver_name->new; 71 } 72 68 73 1; 69 74 __END__
![(please configure the [header_logo] section in trac.ini)](/public/chrome/common/trac_banner.png)