Class-Usul

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

    'IPC::SRLock' => 'v0.31.0',
    'JSON::MaybeXS' => '1.003',
    'Log::Handler' => '0.84',
    'Module::Runtime' => '0.014',
    'Moo' => '2.000001',
    'Pod::Eventual' => '0.094001',
    'Sub::Install' => '0.928',
    'Term::ReadKey' => '2.33',
    'Text::Autoformat' => '1.72',
    'Time::Zone' => '2.24',
    'Try::Tiny' => '0.22',
    'Type::Tiny' => '1.000002',
    'Unexpected' => 'v0.46.0',
    'namespace::autoclean' => '0.26',
    'namespace::clean' => '0.25',
    'perl' => '5.010001'
  },
  'test_requires' => {
    'Capture::Tiny' => '0.22',
    'File::Spec' => '0',
    'Hash::MoreUtils' => '0.05',

META.json  view on Meta::CPAN

            "IPC::SRLock" : "v0.31.0",
            "JSON::MaybeXS" : "1.003",
            "Log::Handler" : "0.84",
            "Module::Runtime" : "0.014",
            "Moo" : "2.000001",
            "Pod::Eventual" : "0.094001",
            "Sub::Install" : "0.928",
            "Term::ReadKey" : "2.33",
            "Text::Autoformat" : "1.72",
            "Time::Zone" : "2.24",
            "Try::Tiny" : "0.22",
            "Type::Tiny" : "1.000002",
            "Unexpected" : "v0.46.0",
            "namespace::autoclean" : "0.26",
            "namespace::clean" : "0.25",
            "perl" : "5.010001"
         }
      },
      "test" : {
         "recommends" : {
            "CPAN::Meta" : "2.120900"

META.yml  view on Meta::CPAN

  IPC::SRLock: v0.31.0
  JSON::MaybeXS: '1.003'
  Log::Handler: '0.84'
  Module::Runtime: '0.014'
  Moo: '2.000001'
  Pod::Eventual: '0.094001'
  Sub::Install: '0.928'
  Term::ReadKey: '2.33'
  Text::Autoformat: '1.72'
  Time::Zone: '2.24'
  Try::Tiny: '0.22'
  Type::Tiny: '1.000002'
  Unexpected: v0.46.0
  namespace::autoclean: '0.26'
  namespace::clean: '0.25'
  perl: '5.010001'
resources:
  bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-Usul
  homepage: https://metacpan.org/author/PJFL
  license: http://dev.perl.org/licenses/
  repository: git://github.com/pjfl/p5-class-usul.git

lib/Class/Usul/Crypt/Util.pm  view on Meta::CPAN

package Class::Usul::Crypt::Util;

use strict;
use warnings;

use Class::Usul::Constants qw( FALSE NUL TRUE );
use Class::Usul::Crypt     qw( decrypt default_cipher encrypt );
use Class::Usul::Functions qw( merge_attributes throw );
use Exporter 5.57          qw( import  );
use File::DataClass::IO;
use Try::Tiny;

our @EXPORT_OK = qw( decrypt_from_config encrypt_for_config
                     get_cipher is_encrypted );

my $_args_cache = {};

# Private functions
my $_extract_crypt_params = sub { # Returns cipher and encrypted text
   # A single scalar arg not matching the pattern is just a cipher
   # It really is better this way round. Leave it alone

lib/Class/Usul/Crypt/Util.pm  view on Meta::CPAN

=head1 Diagnostics

None

=head1 Dependencies

=over 3

=item L<Class::Usul>

=item L<Try::Tiny>

=item L<Exporter>

=back

=head1 Incompatibilities

There are no known incompatibilities in this module

=head1 Bugs and Limitations

lib/Class/Usul/Exception.pm  view on Meta::CPAN


=encoding utf8

=head1 Name

Class::Usul::Exception - Exception handling

=head1 Synopsis

   use Class::Usul::Functions qw(throw);
   use Try::Tiny;

   sub some_method {
      my $self = shift;

      try   { this_will_fail }
      catch { throw $_ };
   }

   # OR
   use Class::Usul::Exception;

lib/Class/Usul/IPC.pm  view on Meta::CPAN

=item L<Class::Usul>

=item L<Class::Usul::Constants>

=item L<Class::Usul::IPC::Cmd>

=item L<Module::Load::Conditional>

=item L<Proc::ProcessTable>

=item L<Try::Tiny>

=back

=head1 Incompatibilities

There are no known incompatibilities in this module

=head1 Bugs and Limitations

There are no known bugs in this module.

lib/Class/Usul/IPC/Cmd.pm  view on Meta::CPAN

use File::DataClass::Types    qw( Directory Path );
use File::Spec::Functions     qw( devnull rootdir tmpdir );
use IO::Handle;
use IO::Select;
use IPC::Open3;
use Module::Load::Conditional qw( can_load );
use POSIX                     qw( _exit setsid sysconf WIFEXITED WNOHANG );
use Scalar::Util              qw( blessed openhandle weaken );
use Socket                    qw( AF_UNIX SOCK_STREAM PF_UNSPEC );
use Sub::Install              qw( install_sub );
use Try::Tiny;
use Unexpected::Functions     qw( TimeOut Unspecified );

use Moo; use warnings NONFATAL => 'all';

our ($CHILD_ENUM, $CHILD_PID);

# Public attributes
has 'async'            => is => 'ro',   isa => Bool, default => FALSE;

has 'close_all_files'  => is => 'ro',   isa => Bool, default => FALSE;

lib/Class/Usul/IPC/Cmd.pm  view on Meta::CPAN

=item L<Class::Null>

=item L<File::DataClass>

=item L<Module::Load::Conditional>

=item L<Moo>

=item L<Sub::Install>

=item L<Try::Tiny>

=item L<Unexpected>

=back

=head1 Incompatibilities

There are no known incompatibilities in this module

=head1 Bugs and Limitations

lib/Class/Usul/L10N.pm  view on Meta::CPAN


use Class::Null;
use Class::Usul::Constants   qw( FALSE LANG NUL SEP TRUE );
use Class::Usul::Functions   qw( assert is_arrayref
                                 is_hashref merge_attributes );
use Class::Usul::Types       qw( ArrayRef Bool HashRef Logger SimpleStr Str );
use File::DataClass::Types   qw( Directory Path );
use File::Gettext;
use File::Gettext::Constants qw( CONTEXT_SEP LOCALE_DIRS );
use File::Spec::Functions    qw( tmpdir );
use Try::Tiny;
use Unexpected::Functions    qw( inflate_placeholders );
use Moo;

# Public attributes
has 'l10n_attributes' => is => 'lazy', isa => HashRef, builder => sub { {} };

has 'locale'          => is => 'lazy', isa => SimpleStr, default => LANG;

has 'localedir'       => is => 'lazy', isa => Path, coerce => TRUE,
   builder            => sub { LOCALE_DIRS->[ 0 ] };

lib/Class/Usul/L10N.pm  view on Meta::CPAN

=item L<Class::Usul::Functions>

=item L<File::DataClass::Types>

=item L<File::Gettext>

=item L<File::Gettext::Constants>

=item L<Moo>

=item L<Try::Tiny>

=back

=head1 Incompatibilities

There are no known incompatibilities in this module

=head1 Bugs and Limitations

There are no known bugs in this module.

lib/Class/Usul/Schema.pm  view on Meta::CPAN


use namespace::autoclean;

use Class::Usul::Constants   qw( AS_PARA AS_PASSWORD EXCEPTION_CLASS COMMA
                                 FAILED FALSE NUL OK QUOTED_RE SPC TRUE );
use Class::Usul::Crypt::Util qw( encrypt_for_config );
use Class::Usul::Functions   qw( distname ensure_class_loaded io throw trim );
use Class::Usul::Types       qw( ArrayRef Bool HashRef Maybe NonEmptySimpleStr
                                 PositiveInt SimpleStr Str );
use Data::Record;
use Try::Tiny;
use Unexpected::Functions    qw( inflate_placeholders Unspecified );
use Moo;
use Class::Usul::Options;

extends q(Class::Usul::Programs);
with    q(Class::Usul::TraitFor::ConnectInfo);

# Attribute constructors
my $_build_connect_options = sub {
   my $self  = shift;

lib/Class/Usul/TraitFor/RunningMethods.pm  view on Meta::CPAN


use namespace::autoclean;

use Class::Usul::Constants qw( FAILED NUL OK TRUE UNDEFINED_RV );
use Class::Usul::Functions qw( dash2under elapsed emit_to exception is_hashref
                               is_member logname throw untaint_identifier );
use Class::Usul::Types     qw( ArrayRef HashRef Int SimpleStr );
use English                qw( -no_match_vars );
use File::DataClass::Types qw( OctalNum );
use Scalar::Util           qw( blessed );
use Try::Tiny;
use Moo::Role;
use Class::Usul::Options;

requires qw( app_version can_call debug error exit_usage
             extra_argv file next_argv output quiet );

# Public attributes
option 'method'  => is => 'rwp',  isa => SimpleStr, format => 's',
   documentation => 'Name of the method to call',
   default       => NUL, order => 1, short => 'c';

lib/Class/Usul/TraitFor/RunningMethods.pm  view on Meta::CPAN

=head1 Dependencies

=over 3

=item L<Class::Usul::Options>

=item L<File::DataClass>

=item L<Moo::Role>

=item L<Try::Tiny>

=back

=head1 Incompatibilities

There are no known incompatibilities in this module

=head1 Bugs and Limitations

There are no known bugs in this module. Please report problems to

lib/Class/Usul/TraitFor/Usage.pm  view on Meta::CPAN


use Class::Inspector;
use Class::Usul::Constants qw( FAILED FALSE NUL OK SPC TRUE );
use Class::Usul::File;
use Class::Usul::Functions qw( dash2under emit emit_to ensure_class_loaded
                               find_source is_member list_attr_of pad throw
                               untaint_cmdline untaint_identifier );
use Class::Usul::IPC;
use Class::Usul::Types     qw( Bool DataEncoding DataLumper ProcCommer );
use Scalar::Util           qw( blessed );
use Try::Tiny;
use Moo::Role;
use Class::Usul::Options;

requires qw( config dumper next_argv options_usage output quiet );

# Public attributes
option 'encoding'     => is => 'lazy', isa => DataEncoding,
   documentation      => 'Decode/encode input/output using this encoding',
   default            => sub { $_[ 0 ]->config->encoding }, format => 's';

lib/Class/Usul/Types.pm  view on Meta::CPAN

package Class::Usul::Types;

use strict;
use warnings;

use Class::Usul::Constants qw( DEFAULT_ENCODING FALSE LOG_LEVELS NUL TRUE );
use Class::Usul::Functions qw( ensure_class_loaded exception untaint_cmdline );
use Encode                 qw( find_encoding );
use Scalar::Util           qw( blessed tainted );
use Try::Tiny;
use Type::Library             -base, -declare =>
                           qw( ConfigProvider DataEncoding DataLumper
                               DateTimeRef Localiser Locker Logger
                               NullLoadingClass Plinth ProcCommer );
use Type::Utils            qw( as class_type coerce extends
                               from message subtype via where );
use Unexpected::Functions  qw( inflate_message is_class_loaded );

use namespace::clean -except => 'meta';

t/00report-metadata.dd  view on Meta::CPAN

                                      'IPC::SRLock' => 'v0.31.0',
                                      'JSON::MaybeXS' => '1.003',
                                      'Log::Handler' => '0.84',
                                      'Module::Runtime' => '0.014',
                                      'Moo' => '2.000001',
                                      'Pod::Eventual' => '0.094001',
                                      'Sub::Install' => '0.928',
                                      'Term::ReadKey' => '2.33',
                                      'Text::Autoformat' => '1.72',
                                      'Time::Zone' => '2.24',
                                      'Try::Tiny' => '0.22',
                                      'Type::Tiny' => '1.000002',
                                      'Unexpected' => 'v0.46.0',
                                      'namespace::autoclean' => '0.26',
                                      'namespace::clean' => '0.25',
                                      'perl' => '5.010001'
                                    }
                    },
       'test' => {
                   'recommends' => {
                                     'CPAN::Meta' => '2.120900'

t/12types.t  view on Meta::CPAN

use t::boilerplate;

use Test::More;
use English qw( -no_match_vars );
use Try::Tiny;
use Unexpected::Functions qw( catch_class );

{  package MyNLC;

   use Moo;
   use Class::Usul::Types qw( NullLoadingClass );

   has 'test1' => is => 'ro', isa => NullLoadingClass, coerce => 1,
      default  => 'Class::Usul';
   has 'test2' => is => 'ro', isa => NullLoadingClass, coerce => 1,

t/META.json  view on Meta::CPAN

            "Log::Handler" : "0.63",
            "Module::Runtime" : "0.014",
            "Moo" : "1.004002",
            "MooX::ClassStash" : "0.005",
            "Pod::Eventual" : "0.093330",
            "Regexp::Common" : "2010010201",
            "Sub::Install" : "0.925",
            "Term::ReadKey" : "2.30",
            "Text::Autoformat" : "1.669002",
            "Time::Zone" : "2.24",
            "Try::Tiny" : "0.18",
            "Type::Tiny" : "0.046",
            "Unexpected" : "v0.23.0",
            "namespace::clean" : "0.25",
            "namespace::sweep" : "0.006",
            "perl" : "5.010001"
         }
      }
   },
   "provides" : {
      "Class::Usul" : {



( run in 0.778 second using v1.01-cache-2.11-cpan-05444aca049 )