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>