Asterisk-LCR
view release on metacpan or search on metacpan
lib/Asterisk/LCR/Importer.pm view on Meta::CPAN
=head1 NAME
Asterisk::LCR::Importer - Provider's rates importer base class
=head1 SYNOPSIS
Asterisk::LCR::Importer is just a base class. To write your own importer:
package MyOwnImporter;
use base qw /Asterisk::LCR::Importer/;
use warnings;
use strict;
sub new
{
my $class = shift;
my $self = $class->SUPER::new (@_);
$self->{prefix_locale} = 'us'
$self->{prefix_position} = '0'
$self->{label_position} = '1'
$self->{rate_position} = '4'
$self->{first_increment_position} = '2'
$self->{increment_position} = '3'
$self->{connection_fee} = '0'
$self->{currency} = 'USD'
$self->{uri} = 'http://www.plainvoip.com/ratedump.php'
$self->{separator} = '(?:,|(?<=\d)\/(?=\d))'
return $self;
}
1;
__END__
In your config file:
[import:myownprovider]
package = MyOwnProvider
dialstring = IAX2/jhiver@plainvoip/REPLACEME
=head1 METHODS
=cut
package Asterisk::LCR::Importer;
use base qw /Asterisk::LCR::Object/;
use Asterisk::LCR::Locale;
use Asterisk::LCR::Route;
use LWP::Simple;
use warnings;
use strict;
=head2 $self->uri();
Returns the URI which $self should fetch.
If not overriden, returns $self->{uri}
=cut
sub uri { shift->{uri} || 'http://example.com/YOU_FORGOT_TO_SPECIFY_THE_RATES_URI' }
=head2 $self->target();
Returns a 'target', i.e. a name file to fill with
the current Importer's rates.
Returns $self->provider() + ".csv" by default.
If $self->{target} is defined, returns it instead.
=cut
sub target
{
my $self = shift;
return $self->{target} || do { $self->provider() . '.csv' }
( run in 2.801 seconds using v1.01-cache-2.11-cpan-364913b4093 )