NAME
UR::Object::Command::FetchAndDo - Base class for fetching objects and then performing a function on/with them.
SYNOPSIS
package MyFecthAndDo;
use strict;
use warnings;
use above "UR";
class MyFecthAndDo {
is => 'UR::Object::Command::FetchAndDo',
has => [
# other properties...
],
};
sub _do { # required
my ($self, $iterator) = @_;
while (my $obj = $iterator->next) {
...
}
return 1;
}
1;
Provided by the Developer
_do (required)
Implement this method to 'do' unto the iterator. Return true for success, false for failure.
sub _do {
my ($self, $iterator) = @_;
while (my $obj = $iterator->next) {
...
}
return 1;
}
subject_class_name (optional)
The subject_class_name is the class for which the objects will be fetched. It can be specified one of two main ways:
- by_the_end_user_on_the_command_line
-
For this do nothing, the end user will have to provide it when the command is run.
- by_the_developer_in the_class_declartion
-
For this, in the class declaration, add a has key w/ arrayref of hashrefs. One of the hashrefs needs to be subject_class_name. Give it this declaration:
class MyFetchAndDo { is => 'UR::Object::Command::FetchAndDo', has => [ subject_class_name => { value => <CLASS NAME>, is_constant => 1, }, ], };
helps (optional)
Overwrite the help_brief, help_synopsis and help_detail methods to provide specific help. If overwiting the help_detail method, use call '_filter_doc' to get the filter documentation and usage to combine with your specific help.