logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Data::ICal::Property - Represents a property on an entry in an iCalendar file

Author

       Best Practical Solutions, LLC <modules@bestpractical.com>

Description

       A Data::ICal::Property object represents a single property on an entry in an iCalendar file.  Properties
       have parameters in addition to their value.

       You shouldn't need to create Data::ICal::Property values directly -- just use "add_property" in
       Data::ICal::Entry.

       The "encoding" parameter value is only interpreted by Data::ICal in the "decoded_value" and "encode"
       methods: all other methods access the encoded version directly (if there is an encoding).

       Currently, the only supported encoding is "QUOTED-PRINTABLE".

Methods

new$key,$value,[$parameter_hash]
       Creates a new Data::ICal::Property with key $key and value $value.

       If $parameter_hash is provided, sets the property's parameters to it.  The parameter hash should have
       keys equal to the names of the parameters (case insensitive; parameter hashes should not contain two
       different keys which are the same when converted to upper case); the values should either be a string if
       the parameter has a single value or an array reference of strings if the parameter has multiple values.

   key[$key]
       Gets or sets the key name of this property.

   value[$value]
       Gets or sets the value of this property.

   parameters[$param_hash]
       Gets or sets the parameter hash reference of this property.  Parameter keys are converted to upper case.

   vcal10[$bool]
       Gets or sets a boolean saying whether this should be interpreted as vCalendar 1.0 (as opposed to
       iCalendar 2.0).  Generally, you can just set this on your main Data::ICal object when you construct it;
       "add_entry" automatically makes sure that sub-entries end up with the same value as their parents, and
       "add_property" makes sure that properties end up with the same value as their entry.

   decoded_value
       Gets the value of this property, converted from the encoding specified in its encoding parameter.  (That
       is, "value" will return the encoded version; this will apply the encoding.)  If the encoding is not
       specified or recognized, just returns the raw value.

   encode$encoding
       Calls "decoded_value" to get the current decoded value, then encodes it in $encoding, sets the value to
       that, and sets the encoding parameter to $encoding. ($encoding is first converted to upper case.)

       If $encoding is undef, deletes the encoding parameter and sets the value to the decoded value.  Does
       nothing if the encoding is not recognized.

   as_stringARGS
       Returns the property formatted as a string (including trailing newline).

       Takes named arguments:

       fold
           Defaults to true. pass in a false value if you need to generate non-rfc-compliant calendars.

       crlf
           Defaults to "\x0d\x0a", per RFC 2445 spec.  This option is primarily for backwards compatibility with
           version of this module prior to 0.16, which used "\x0a".

Name

       Data::ICal::Property - Represents a property on an entry in an iCalendar file

return

See Also