API-Plesk
view release on metacpan or search on metacpan
lib/API/Plesk/Component.pm view on Meta::CPAN
push(@properties, { ip_address => $ip }) if $ip;
$hosting->{$type} = @properties ? \@properties : '';
return;
}
elsif ( $type eq 'std_fwd' or $type eq 'frm_fwd' ) {
confess "Required dest_url field!" unless $hosting->{dest_url};
$hosting->{$type} = {
dest_url => delete $hosting->{dest_url},
};
$hosting->{$type}->{ip_address} = $ip if $ip;
return;
}
elsif ( $type eq 'none' ) {
$hosting->{$type} = '';
return;
}
confess "Unknown hosting type!";
}
sub prepare_filter {
my ( $self, $filter, %opts ) = @_;
my @filter;
my $sort = $opts{sort_keys} || [keys %$filter];
for my $key ( @$sort ) {
if ( ref $filter->{$key} eq 'ARRAY' ) {
for my $value ( @{$filter->{$key}} ) {
push @filter, { $key => $value };
}
}
else {
push @filter, { $key => $filter->{$key} };
}
}
return @filter ? \@filter : '';
}
1;
__END__
=head1 NAME
API::Plesk::Component - Base class for components.
=head1 SYNOPSIS
package API::Plesk::Customer;
use base 'API::Plesk::Component';
sub get { ... }
sub set { ... }
1;
=head1 DESCRIPTION
Base class for components.
=head1 METHODS
=over 3
=item new(plesk => API::Plesk->new(...))
Create component object.
=item plesk()
Referer to API::Plesk object.
=item
=back
=head1 AUTHOR
Ivan Sokolov <lt>ivsokolov@cpan.org<gt>
=cut
( run in 0.453 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )