NAME

Net::RDAP::JCard - a module representing an RDAP jCard object.

SYNOPSIS

#
# get an object by calling the jcard() method on a Net::RDAP::Object::Entity
#
my $jcard = $entity->jcard;

my $fn = [ $jcard->properties('fn') ]->[0];

say $fn->value;

DESCRIPTION

This module provides a representation of jCard properties, as described in RFC 7095.

Historically, the only way to access the contents of the vcardArray property of Net::RDAP::Object::Entity objects was to call the vcard() method and get a vCard object back, but the conversion was lossy. This module provides a lossless and ergonomic alternative to using vCard.

CONSTRUCTOR

$jcard = Net::RDAP::JCard->new($ref);

You probably don't need to instantiate these objects yourself, but if you do, you just need to pass an arrayref of properties.

METHODS

@properties = $jcard->properties;

@properties = $jcard->properties($type);

Returns a (potentially empty) array of Net::RDAP::JCard::Property objects, optionally filtered to just those that have the $type type (matched case-insensitively).

Before v0.26, this method was called nodes(). This name still works but is deprecated and will be removed in the future.

$property = $jcard->first('fn');

Returns the first property matching the provided type, or undef if none was found.

@addresses = $jcard->addresses;

Returns a (potentially empty) array of Net::RDAP::JCard::Address objects, representing the adr properties of the jCard object.

$address = $jcard->first_address;

Returns a Net::RDAP::JCard::Address object representing the first address found, or undef.

COPYRIGHT

Copyright 2018-2023 CentralNic Ltd, 2024 Gavin Brown. For licensing information, please see the LICENSE file in the Net::RDAP distribution.