NAME
App::Nopaste::Service - base class for nopaste services
SYNOPSIS
package App::Nopaste::Service::Shadowcat;
use base 'App::Nopaste::Service';
sub uri { "http://paste.scsys.co.uk/" }
DESCRIPTION
App::Nopaste::Service
defines a generic interface for uploading to nopaste sites. It provides a default interface to that of the POE Pastebot.
METHODS
nopaste
This is the outermost method called by App::Nopaste and other clients. You should not override this method, as it will (XXX: eventually) perform canonicalization of arguments (such as lang
) for you.
run args -> (OK, message)
This is the outermost method you should override. You'll be passed a hash of arguments. The only arguments you should pay attention to are:
- text
-
The body of text to paste.
- desc
-
A short (one-line) summary of the paste.
- nick
-
The name of the person performing the paste.
- chan
-
The IRC channel to which the paste belongs.
- lang
-
The programming language of the body of text.
- private
-
If false, the paste will be public (default).
get mech, args
This should "get" the form to paste using the provided WWW::Mechanize object. By default it does just that. See "uri" below.
uri
If you only need to call mech->get(uri)
then you may define this method to provide the URI of the nopaste service.
fill_form mech, args
This should have the WWW::Mechanize fill in the form using the arguments, and submit it.
return mech, args
This should look at WWW::Mechanize->content
to find the URI to the pasted text.
AUTHOR
Shawn M Moore, <sartak at gmail.com>