WWW::Shorten::Simple - Factory wrapper around WWW::Shorten to avoid imports


WWW-Shorten-Simple documentation  | view source Contained in the WWW-Shorten-Simple distribution.

Index


NAME

Top

WWW::Shorten::Simple - Factory wrapper around WWW::Shorten to avoid imports

SYNOPSIS

Top

  use WWW::Shorten::Simple;

  my $svc = WWW::Shorten::Simple->new('TinyURL');
  my $short_url = $svc->shorten($long_url);
  my $canon_url = $svc->unshorten($short_url);

DESCRIPTION

Top

WWW::Shorten::Simple is a wrapper (factory) around WWW::Shorten so that you can create an object representing each URL shortening service, instead of importing makeashorterlink function into your namespace.

This allows you to call multiple URL shortening services in one package, for instance to call WWW::Shorten::RevCanonical to extract rev="canonical", fallback to bit.ly if username and API key are present, and then finally to TinyURL.

  use WWW::Shorten::Simple;

  my @shorteners = (
      WWW::Shorten::Simple->new('RevCanonical'),
      WWW::Shorten::Simple->new('Bitly', $bitly_username, $bitly_api_key),
      WWW::Shorten::Simple->new('TinyURL'),
  );

  my $short_url;
  for my $shortener (@shorteners) {
      $short_url = eval { $shortener->shorten($long_url) } # eval to ignore errors
          and last;
  }

This wrapper works with most WWW::Shorten implementation that implements the default makeashorterlink and makealongerlink functions. The options should be able to be passed as an optional parameters to makeashorterlink function.

METHODS

Top

new
  $svc = WWW::Shorten::Simple->new('TinyURL');
  $svc = WWW::Shorten::Simple->new('Bitly', $bitly_username, $bitly_api_key);

Creates a new WWW::Shoten::Simple object. Takes a subclass name and optional parameters to makeashorterlink call.

shorten
  my $short_url = $svc->shorten($url);

Shortens the given URL. Aliases: makeashorterlink, short_link

unshorten
  my $long_url = $svc->unshorten($short_url);

Unshortens the given URL. Aliases: makealongerlink, long_link

AUTHOR

Top

Tatsuhiko Miyagawa <miyagawa@bulknews.net>

LICENSE

Top

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Top

WWW::Shorten, WWW::Shorten::RevCanonical


WWW-Shorten-Simple documentation  | view source Contained in the WWW-Shorten-Simple distribution.