NAME¶
Jifty::Plugin::REST::Dispatcher - Dispatcher for REST plugin
show_help¶
Shows basic help about resources and formats available via this RESTful
interface.
show_help_specific¶
Displays a help page about a specific topic. Will look for a method named
"show_help_specific_$1".
show_help_specific_search¶
Explains /=/search/ a bit more in-depth.
show_version¶
Displays versions of the various bits of your application.
list PREFIX items¶
Takes a URL prefix and a set of items to render. passes them on.
Returns the user's desired output format. Returns a hashref of:
format: JSON, JS, YAML, XML, Perl, or HTML
extension: json, js, yml, xml, pl, or html
content_type: text/x-yaml; charset=UTF-8, etc.
freezer: \&Jifty::YAML::Dump, etc.
outs PREFIX DATASTRUCTURE¶
Takes a url path prefix and a data structure. Depending on what content types
the other side of the HTTP connection can accept, renders the content as YAML,
JSON, JavaScript, Perl, XML or HTML.
render_as_xml DATASTRUCTURE¶
Attempts to render DATASTRUCTURE as simple, tag-based XML.
render_as_html PREFIX URL DATASTRUCTURE¶
Attempts to render DATASTRUCTURE as simple semantic HTML suitable for humans to
look at.
html_dump DATASTRUCTURE¶
Recursively render DATASTRUCTURE as some simple HTML "dl"s and
"ol"s.
html_dump_record Jifty::Record¶
Returns a nice simple HTML definition list of the keys and values of a
Jifty::Record object.
action ACTION¶
Canonicalizes ACTION into the class-name form preferred by Jifty by cleaning up
casing, delimiters, etc. Throws an appropriate HTTP error code if the action
is unavailable.
model MODEL¶
Canonicalizes MODEL into the class-name form preferred by Jifty by cleaning up
casing, delimiters, etc. Throws an appropriate HTTP error code if the model is
unavailable.
list_models¶
Sends the user a list of models in this application, with the names transformed
from Perlish::Syntax to Everything.Else.Syntax
valid_column¶
Returns true if the column is a valid column to observe on the model
list_model_columns¶
Sends the user a nice list of all columns in a given model class. Exactly which
model is shoved into $1 by the dispatcher. This should probably be improved.
list_model_items MODELCLASS COLUMNNAME¶
Returns a list of items in MODELCLASS sorted by COLUMNNAME, with only COLUMNNAME
displayed. (This should have some limiting thrown in)
show_item_field $model, $column, $key, $field¶
Loads up a model of type $model which has a column $column with a value $key.
Returns the value of $field for that object. Returns 404 if it doesn't exist.
show_item $model, $column, $key¶
Loads up a model of type $model which has a column $column with a value $key.
Returns all columns for the object
Returns 404 if it doesn't exist.
search_items $model, [c1, v1, c2, v2, ...] [, $field]¶
Loads up all models of type $model that match the given columns and values. If
the column and value list has an odd count, then the last item is taken to be
the output column. Otherwise, all items will be returned.
Will throw a 404 if there were no matches, or $field was invalid.
Pseudo-columns:
- __per_page => N
- Return the collection as N records per page.
- __page => N
- Return page N of the collection
- __order_by => "column"
- Order by the given column, ascending.
- __order_by_desc => "column"
- Order by the given column, descending.
create_item¶
Implemented by redispatching to a CreateModel action.
replace_item¶
Implemented by redispatching to a CreateModel or UpdateModel action.
delete_item¶
Implemented by redispatching to a DeleteModel action.
list_actions¶
Returns a list of all actions visible to the current user. (Canonicalizes
Perl::Style to Everything.Else.Style).
list_action_params¶
Takes a single parameter, $action, supplied by the dispatcher.
Shows the user all possible parameters to the action.
Takes a single parameter, the class of an action.
Shows the user an HTML form of the action's parameters to run that action.
run_action¶
Expects $1 to be the name of an action we want to run.
Runs the action,
with the HTTP arguments as its arguments. That is, it's
not looking for Jifty-encoded (J:F) arguments. If you have an action called
"MyApp::Action::Ping" that takes a parameter, "ip", this
action will look for an HTTP argument called "ip", (not
J:F-myaction-ip).
Returns the action's result.
TODO, doc the format of the result.
On an invalid action name, throws a 404. On a disallowed action name, throws a
403. On an internal error, throws a 500.