Footprintless::App::Action

- NAME
- VERSION
- FUNCTIONS
  - abstract($self_or_class)
  - description($self_or_class)
  - opt_spec()
  - prepare($class, $app, $footprintless, $coordinate, @args)
- METHODS
  - execute($opts, $args)
  - usage()
  - usage_error($message, $coordinate)
  - usage_desc()
  - validate_args($opts, $args)
- AUTHOR
- COPYRIGHT AND LICENSE
- SEE ALSO

# NAME

Footprintless::App::Action - A base class for actions

# VERSION

version 1.29

# FUNCTIONS

## abstract($self_or_class)

Returns the abstract for the action. By default it will pull it from the `ABSTRACT` section of the pod. This function should be called using method invokation.

## description($self_or_class)

Returns the description for the action. By default it will pull it from the `DESCRIPTION` section of the pod. This function should be called using method invokation.

## opt_spec()

Returns an options specificatino for this action according to Getopt::Long::Descriptive.

## prepare($class, $app, $footprintless, $coordinate, @args)

Processes `@args` to parse off the options, then generates a new instance of the action implementation and returns the 3-tuple: action, options, remaining args. See App::Cmd::Command::prepare for inspiration.

# METHODS

## execute($opts, $args)

Executes the action.

## usage()

Returns the usage object from Getopt::Long::Descriptive for the action.

## usage_error($message, $coordinate)

Die's with a generated message based on `$message` and `$coordinate`.

## usage_desc()

Returns the top level usage line. See App::Cmd::Command::usage_desc for inspiration.

## validate_args($opts, $args)

Performs additional validation on `$opts` and `$args`. Calls "usage_error($message, $coordinate)" if there is a problem.

# AUTHOR

Lucas Theisen <lucastheisen@pastdev.com>

# COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Lucas Theisen.

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

# SEE ALSO

Please see those modules/websites for more information related to this module.

- Footprintless
- Footprintless::App::DocumentationUtil