File Coverage

blib/lib/Data/ICal/Entry/TimeZone.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 3 3 100.0
total 21 21 100.0


line stmt bran cond sub pod time code
1 2     2   14 use warnings;
  2         4  
  2         98  
2 2     2   12 use strict;
  2         4  
  2         81  
3              
4             package Data::ICal::Entry::TimeZone;
5              
6 2     2   10 use base qw/Data::ICal::Entry/;
  2         4  
  2         468  
7              
8             =head1 NAME
9              
10             Data::ICal::Entry::TimeZone - Represents a time zone definition in an iCalendar file
11              
12             =head1 SYNOPSIS
13              
14             my $vtimezone = Data::ICal::Entry::TimeZone->new();
15             $vtimezone->add_properties(
16             tzid => "US-Eastern",
17             tzurl => "http://zones.stds_r_us.net/tz/US-Eastern"
18             );
19              
20             $vtimezone->add_entry($daylight); # daylight/ standard not yet implemented
21             $vtimezone->add_entry($standard); # :-(
22              
23             $calendar->add_entry($vtimezone);
24              
25             =head1 DESCRIPTION
26              
27             A L object represents the declaration of
28             a time zone in an iCalendar file. (Note that the iCalendar RFC refers
29             to entries as "components".) It is a subclass of L
30             and accepts all of its methods.
31              
32             This module is not yet useful, because every time zone declaration
33             needs to contain at least one C or C component,
34             and these have not yet been implemented.
35              
36             =head1 METHODS
37              
38             =cut
39              
40             =head2 ical_entry_type
41              
42             Returns C, its iCalendar entry name.
43              
44             =cut
45              
46 10     10 1 4845 sub ical_entry_type {'VTIMEZONE'}
47              
48             =head2 optional_unique_properties
49              
50             According to the iCalendar standard, the following properties may be
51             specified at most one time for a time zone declaration:
52              
53             last-modified tzurl
54              
55             =cut
56              
57             sub optional_unique_properties {
58 20     20 1 50 qw(
59             last-modified tzurl
60             );
61             }
62              
63             =head2 mandatory_unique_properties
64              
65             According to the iCalendar standard, the C property must be
66             specified exactly one time in a time zone declaration.
67              
68             =cut
69              
70             sub mandatory_unique_properties {
71 22     22 1 56 qw(
72             tzid
73             );
74             }
75              
76             =head1 AUTHOR
77              
78             Best Practical Solutions, LLC Emodules@bestpractical.comE
79              
80             =head1 LICENCE AND COPYRIGHT
81              
82             Copyright (c) 2005 - 2020, Best Practical Solutions, LLC. All rights reserved.
83              
84             This module is free software; you can redistribute it and/or
85             modify it under the same terms as Perl itself. See L.
86              
87             =cut
88              
89             1;