forked from arhuman/Net-Whois-RIPE
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PoeticForm.pm
161 lines (106 loc) · 3.74 KB
/
PoeticForm.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package Net::Whois::Object::PoeticForm;
use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-22
# APNIC ??
#
#
# poetic-form: [mandatory] [single] [primary/look-up key]
# descr: [optional] [multiple] [ ]
# admin-c: [mandatory] [multiple] [inverse key]
# remarks: [optional] [multiple] [ ]
# notify: [optional] [multiple] [inverse key]
# mnt-by: [mandatory] [multiple] [inverse key]
# changed: [mandatory] [multiple] [ ]
# source: [mandatory] [single] [ ]
#
=head1 NAME
Net::Whois::Object::PoeticForm - an object representation of the RPSL PoeticForm block
=head1 DESCRIPTION
The poetic_form object contains a poetic_form that is submitted by a user. This object is
included in the database to show that engineers do have a sense of humour.
=head1 METHODS
=head2 B<new( %options )>
Constructor for the Net::Whois::Object::PoeticForm class
=cut
sub new {
my ( $class, @options ) = @_;
my $self = bless {}, $class;
$self->_init(@options);
$self->attributes( 'primary', ['poetic_form'] );
$self->attributes( 'mandatory', [ 'poetic_form', 'admin_c', 'mnt_by', 'changed', 'source' ] );
$self->attributes( 'optional', [ 'descr', 'remarks', 'notify' ] );
$self->attributes( 'single', [ 'poetic_form', 'source' ] );
$self->attributes( 'multiple', [ 'descr', 'admin_c', 'remarks', 'notify', 'mnt_by', 'changed' ] );
return $self;
}
=head2 B<poetic_form( [$poetic_form] )>
Accessor to the poetic_form attribute.
Accepts an optional poetic_form, always return the current poetic_form.
=cut
sub poetic_form {
my ( $self, $poetic_form ) = @_;
return $self->_single_attribute_setget( 'poetic_form', $poetic_form );
}
=head2 B<descr( [$descr] )>
Accessor to the descr attribute.
Accepts an optional descr line to be added to the descr array,
always return the current descr array.
=cut
sub descr {
my ( $self, $descr ) = @_;
return $self->_multiple_attribute_setget( 'descr', $descr );
}
=head2 B<admin_c( [$contact] )>
Accessor to the admin_c attribute.
Accepts an optional contact to be added to the admin_c array,
always return the current admin_c array.
=cut
sub admin_c {
my ( $self, $contact ) = @_;
return $self->_multiple_attribute_setget( 'admin_c', $contact );
}
=head2 B<remarks( [$remark] )>
Accessor to the remarks attribute.
Accepts an optional remark to be added to the remarks array,
always return the current remarks array.
=cut
sub remarks {
my ( $self, $remark ) = @_;
return $self->_multiple_attribute_setget( 'remarks', $remark );
}
=head2 B<notify( [$notify] )>
Accessor to the notify attribute.
Accepts an optional notify value to be added to the notify array,
always return the current notify array.
=cut
sub notify {
my ( $self, $notify ) = @_;
return $self->_multiple_attribute_setget( 'notify', $notify );
}
=head2 B<mnt_by( [$mnt_by] )>
Accessor to the mnt_by attribute.
Accepts an optional mnt_by value to be added to the mnt_by array,
always return the current mnt_by array.
=cut
sub mnt_by {
my ( $self, $mnt_by ) = @_;
return $self->_multiple_attribute_setget( 'mnt_by', $mnt_by );
}
=head2 B<changed( [$changed] )>
Accessor to the changed attribute.
Accepts an optional changed value to be added to the changed array,
always return the current changed array.
=cut
sub changed {
my ( $self, $changed ) = @_;
return $self->_multiple_attribute_setget( 'changed', $changed );
}
=head2 B<source( [$source] )>
Accessor to the source attribute.
Accepts an optional source, always return the current source.
=cut
sub source {
my ( $self, $source ) = @_;
return $self->_single_attribute_setget( 'source', $source );
}
1;