MooseX::App::Plugin::Depends(3pm)

MooseX::App::Plugin::Depends3pm

Adds dependent options

Usage

In your base class:

 package MyApp;
 use MooseX::App qw(Depends);
 
 use Moose::Util::TypeConstraints;
 option 'FileFormat' => (
   is  => 'ro',
   isa => enum( [qw(tsv csv xml)] ),
 );
 option 'WriteToFile' => (
   is       => 'ro',
   isa      => 'Bool',
   depends => [qw(FileFormat)],
 );

In your script:

 #!/usr/bin/env perl
 use strict;
 use warnings;
 use MyApp;
 MyApp->new_with_options( WriteToFile => 1 );
 # generates Error
 # Option 'WriteToFile' requires 'FileFormat' to be defined
 MyApp->new_with_options( WriteToFile => 1, FileFormat => 'tsv );
 # generates no errors
 MyApp->new_with_options();
 # generates no errors

Overview

In many real-world scenarios, sets of options are, by design, needed to be specified together. This plugin adds the ability to create dependent options to your application, options that require one or more other options for your application to perform properly.

Releases

5 releases since Debian 9 (Stretch); the text changed 4 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13

From libmoosex-app-perl 1.43-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.