logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

CSAF::Util::Options - Options utility for CSAF

Author

       •   Giuseppe Di Terlizzi <gdt@cpan.org>

Description

       CSAF::Util::Options is Moo role and utility for CSAF.

   ATTRIBUTES
       config_file
           Load config from YAML file.

   METHODS
       configure
           Configure an item.

               $options->configure(
                   foo => 'foo',
                   bar => 'bar',
                   baz => 'baz'
               );

Name

       CSAF::Util::Options - Options utility for CSAF

Support

Bugs/FeatureRequests
       Please     report    any    bugs    or    feature    requests    through    the    issue    tracker    at
       <https://github.com/giterlizzi/perl-CSAF/issues>.  You will be notified automatically of any progress  on
       your issue.

   SourceCode
       This  is open source software.  The code repository is available for public review and contribution under
       the terms of the license.

       <https://github.com/giterlizzi/perl-CSAF>

           git clone https://github.com/giterlizzi/perl-CSAF.git

Synopsis

           package My::CSAF::Options {

               use Moo;
               with 'CSAF::Util::Options';

               has enable_foo => (is => 'rw', required => 1);
               has make_bar => (is => 'rw');

           }

           package My::CSAF {

               use Moo;
               use My::CSAF::Options;

               has options => (is => 'lazy', build => 1);

               sub _build_options { My::CSAF::Options->new }

               sub my_job {

                   my $self = shift;

                   $self->options->configure(make_bar => $bar);

                   if ($self->options->enable_foo) {
                       [...]
                   }
               }

           }

See Also