NAME
Prophet::CLIContext
VERSION
version 0.751
mutate_attributes ( args => $hashref, props => $hashref, type => 'str' )
A hook for running a second command from within a command without having to use the commandline argument parsing.
If type
, uuid
, or primary_commands
are not passed in, the values from the previous command run are used.
cmp_regex
The regex to use for matching property key/value separators.
$ID_REGEX
The regex to use for matching the id argument (luid / uuid).
setup_from_args
Sets up this context object's arguments and key/value pairs from an array that looks like an @ARGV.
parse_args @args
This routine pulls arguments (specified by --key=value or --key value or -k value) and properties (specified by --props key=value or -- key=value) as passed on the command line out of ARGV (or something else emulating ARGV) and sticks them in "args" or "props" and "prop_set" as necessary. Argument keys have leading "--" or "-" stripped.
If a key is not given a value on the command line, its value is set to undef.
More complicated separators such as =~ (for regexes) are also handled (see "cmp_regex" for details).
set_type_and_uuid
When working with individual records, it is often the case that we'll be expecting a --type argument and then a mess of other key-value pairs.
This routine figures out and sets type
and uuid
from the arguments given on the command-line, if possible. Being unable to figure out a uuid is fatal.
AUTHORS
Jesse Vincent <jesse@bestpractical.com>
Chia-Liang Kao <clkao@bestpractical.com>
Christine Spang <christine@spang.cc>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2009 by Best Practical Solutions.
This is free software, licensed under:
The MIT (X11) License
BUGS AND LIMITATIONS
You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=Prophet.
CONTRIBUTORS
Alex Vandiver <alexmv@bestpractical.com>
Casey West <casey@geeknest.com>
Cyril Brulebois <kibi@debian.org>
Florian Ragwitz <rafl@debian.org>
Ioan Rogers <ioanr@cpan.org>
Jonas Smedegaard <dr@jones.dk>
Kevin Falcone <falcone@bestpractical.com>
Lance Wicks <lw@judocoach.com>
Nelson Elhage <nelhage@mit.edu>
Pedro Melo <melo@simplicidade.org>
Rob Hoelz <rob@hoelz.ro>
Ruslan Zakirov <ruz@bestpractical.com>
Shawn M Moore <sartak@bestpractical.com>
Simon Wistow <simon@thegestalt.org>
Stephane Alnet <stephane@shimaore.net>
Unknown user <nobody@localhost>
Yanick Champoux <yanick@babyl.dyndns.org>
franck cuny <franck@lumberjaph.net>
robertkrimen <robertkrimen@gmail.com>
sunnavy <sunnavy@bestpractical.com>