NAME

Jifty::Client - Subclass of WWW::Mechanize with extra Jifty features

DESCRIPTION

This module is a base for building robots to interact with Jifty applications. It currently contains much overlapping code with Jifty::Test::WWW::Mechanize, except that it does not inherit from Test::WWW::Mechanize.

Expect this code to be refactored in the near future.

METHODS

new

Overrides WWW::Mechanize's new to automatically give the bot a cookie jar.

moniker_for ACTION, FIELD1 => VALUE1, FIELD2 => VALUE2

Finds the moniker of the first action of type ACTION whose "constructor" field FIELD1 is VALUE1, and so on.

fill_in_action MONIKER, FIELD1 => VALUE1, FIELD2 => VALUE2, ...

Finds the fields on the current page with the names FIELD1, FIELD2, etc in the MONIKER action, and fills them in. Returns the HTML::Form object of the form that the action is in, or undef if it can't find all the fields.

action_form MONIKER [ARGUMENTNAMES]

Returns the form (as an HTML::Form object) corresponding to the given moniker (which also contains inputs for the given argumentnames), and also selects it as the current form. Returns undef if it can't be found.

action_field_value MONIKER, FIELD

Finds the fields on the current page with the names FIELD in the action MONIKER, and returns its value, or undef if it can't be found.

send_action CLASS ARGUMENT => VALUE, [ ... ]

Sends a request to the server via the webservices API, and returns the Jifty::Result of the action. CLASS specifies the class of the action, and all parameters thereafter supply argument keys and values.

The URI of the page is unchanged after this; this is accomplished by using the "back button" after making the webservice request.

fragment_request PATH ARGUMENT => VALUE, [ ... ]

Makes a request for the fragment at PATH, using the webservices API, and returns the string of the result.

field_error_text MONIKER, FIELD

Finds the error span on the current page for the name FIELD in the action MONIKER, and returns the text (tags stripped) from it. (If the field can't be found, return undef).

uri

WWW::Mechanize has a bug where it returns the wrong value for uri after redirect. This fixes that. See http://rt.cpan.org/NoAuth/Bug.html?id=9059

session

Returns the server-side Jifty::Web::Session object associated with this Mechanize object.

continuation [ID]

Returns the current continuation of the Mechanize object, if any. Or, given an ID, returns the continuation with that ID.

current_user

Returns the Jifty::CurrentUser object or descendant, if any.

SEE ALSO

Jifty::Test::WWW::Mechanize

LICENSE

Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.