CGI-Listman
view release on metacpan or search on metacpan
Listman/line.pm view on Meta::CPAN
by new or this method.
=over
=item Parameters
=over
=item fields
A reference to an ARRAY representing a database record.
=back
=item Return values
This method returns nothing.
=back
=cut
sub set_fields {
my ($self, $fields_ref) = @_;
croak "Fields already defined for line.\n"
if (defined $self->{'data'});
$self->{'data'} = $fields_ref;
$self->{'_updated'} = 1;
}
=pod
=head2 update_fields
Since I<set_fields> can only be called once and updating a row requires
some internal handling, you need to use this method whenever you update
a line's data.
=over
=item Parameters
=over
=item fields
A reference to an ARRAY representing a database record.
=back
=item Return values
This method returns nothing.
=back
=cut
sub update_fields {
my ($self, $fields_ref) = @_;
delete $self->{'data'}
if (defined $self->{'data'});
$self->{'data'} = $fields_ref;
$self->{'_updated'} = 1;
}
=pod
=head2 line_fields
Use this method whenever you want to access the data encapsulated within
this object. Be careful to not modify the resulting fields unless you
want to do so since it returns the actual data and not a copy.
=over
=item Parameters
This method takes no parameter.
=item Return values
A reference to an ARRAY representing the instance of I<CGI::Listman::line>.
=back
=cut
sub line_fields {
my $self = shift;
return $self->{'data'};
}
### private methods
sub _build_from_listman_data {
my ($self, $listman_data_ref) = @_;
my @backend_data = @$listman_data_ref;
my $number = shift @backend_data;
$number =~ m/^([0-9]*)$/;
$number = $1 or croak 'Wrong number ("'.$number
.'") containing non-digit characters'."\n";
$self->{'number'} = $number;
$self->{'timestamp'} = shift @backend_data;
$self->{'seen'} = shift @backend_data;
$self->{'exported'} = shift @backend_data;
$self->{'data'} = \@backend_data;
$self->{'_updated'} = 0;
$self->{'_new_line'} = 0;
}
1;
( run in 1.736 second using v1.01-cache-2.11-cpan-13bb782fe5a )