- SEE ALSO
- COPYRIGHT AND LICENSE
Astro::App::Satpass2::Macro::Code - Implement code as macros
No user-serviceable parts inside.
This class is private to the
Astro-App-Satpass2 distribution, mostly because the code interface has not been written.
This class provides or overrides the following methods:
$macro->execute( $name, @argv );
This method executes the named code, which must be findable via
$macro->implements( $name ). The code will be passed the parent
Astro::App::Satpass2 object as its first argument, and
@argv as subsequent arguments. Whatever it returns will be returned to the caller.
This method returns true if the
lib attribute was specified when the class was created.
This method treats the
name attribute as the name of a module to be loaded (either with or without
'Astro::App::Satpass2::Macro::Code::' prepended). This module must be a subclass of
Astro::App::Satpass2. The loaded module's symbol table is examined, and the
implements attribute is populated with names of and references to any code that has the
Note that this means the
implements( $name ) method returns a reference to the implementing code if
$name is actually implemented; but users of this module should not rely on this behavior.
This class redefines or adds the following attributes of its superclass:
This is the name of a directory to be added to
@INCbefore loading the Perl module that contains the macros. Tilde expansion will be done on the value. The default is lib/ in the user's configuration directory. If the value is
undef, nothing is added to
@INCbefore the load.
The value of this attribute can be retrieved by the same-named method, but since this returns
undefif this attribute was unspecified as well as if it was explicitly specified as
undef, you should use the
has_lib()method if the difference is important to your code.
This is the name of the Perl module containing the desired code macros.
If this attribute is true, the value of the
-liboption, if any, is left untouched. Otherwise, it is made into an absolute file reference unless it begins with a tilde.
This is really only here to make testing easier.
The superclass, Astro::App::Satpass2::Macro.
Support is by the author. Please file bug reports at http://rt.cpan.org, or in electronic mail to the author.
Thomas R. Wyant, III wyant at cpan dot org
Copyright (C) 2013-2017 by Thomas R. Wyant, III
This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the directory LICENSES.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.