view release on metacpan or search on metacpan
no warnings qw( experimental::signatures experimental::postderef );
use namespace::autoclean;
use mro 'c3';
has [ 'x', 'y' ] => ( is => 'ro', isa => Num );
has session => ( is => 'ro', isa => HashRef, init_arg => undef, default => sub { { session => 1234 } } );
sub session_id ($self) {
my $session = $self->session;
return "$session->@{session}";
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MooseX/Getopt/ProcessedArgv.pm view on Meta::CPAN
our $VERSION = '0.78';
use Moose;
use namespace::autoclean;
has 'argv_copy' => (is => 'ro', isa => 'ArrayRef');
has 'extra_argv' => (is => 'ro', isa => 'ArrayRef');
has 'usage' => (is => 'ro', isa => 'Maybe[Object]');
has 'constructor_params' => (is => 'ro', isa => 'HashRef');
has 'cli_params' => (is => 'ro', isa => 'HashRef');
__PACKAGE__->meta->make_immutable();
1;
view all matches for this distribution
view release on metacpan or search on metacpan
t/001-basic.t view on Meta::CPAN
has blo => (is => 'ro', isa => 'Exciting', coerce => 1, default => 'DEFAULT', omnitrigger => \&_capture_changes);
has goo => (is => 'rw', isa => 'Exciting', coerce => 1, default => 'DEFAULT' , lazy => 1, clearer => '_clear_goo', omnitrigger => \&_capture_changes);
has moo => (is => 'rw', isa => 'Exciting', coerce => 1, builder => '_build_bar', lazy => 1, clearer => '_clear_moo', omnitrigger => \&_capture_changes);
has changes => (is => 'ro', isa => 'HashRef', default => sub { {} });
has biz => (is => 'rw', isa => 'ArrayRef', weak_ref => 1, omnitrigger => \&_capture_weaklings);
has buz => (is => 'rw', isa => 'ArrayRef', weak_ref => 1, default => sub { $arrayref_buz }, lazy => 1, omnitrigger => \&_capture_weaklings);
has bez => (is => 'rw', isa => 'ArrayRef', weak_ref => 1, default => sub { $arrayref_bez }, lazy => 1, omnitrigger => \&_capture_weaklings);
has weaklings => (is => 'ro', isa => 'HashRef', default => sub { {} });
has ziz => (is => 'rw', isa => 'Exciting', coerce => 1,
initializer => sub {
view all matches for this distribution
view release on metacpan or search on metacpan
init_arg => 'nums',
},
);
has size => (is => 'ro', isa => 'Int');
has nums => (is => 'ro', isa => 'ArrayRef[Int]');
}
{
my $obj = Object->new(10);
isa_ok($obj, 'Object');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MooseX/Role/UnsafeConstructable.pm view on Meta::CPAN
package Foo;
use Moose;
with 'MooseX::Role::UnsafeConstructable';
has field => (is => 'ro', isa => 'HashRef[ArrayRef[Str]]');
__PACKAGE__->meta->make_immutable;
package main;
view all matches for this distribution
view release on metacpan or search on metacpan
t/001_basic.t view on Meta::CPAN
has 'number' => ( is => 'ro', isa => 'Int' );
has 'string' => ( is => 'ro', isa => 'Str' );
has 'boolean' => ( is => 'ro', isa => 'Bool' );
has 'float' => ( is => 'ro', isa => 'Num' );
has 'array' => ( is => 'ro', isa => 'ArrayRef' );
has 'hash' => ( is => 'ro', isa => 'HashRef' );
has 'object' => ( is => 'ro', isa => 'Foo' );
has 'union' => ( is => 'ro', isa => 'ArrayRef|Str' );
has 'union2' => ( is => 'ro', isa => 'ArrayRef|Str' );
}
{
my $foo = Foo->new(
number => 10,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MooseX/Types/Ro.pm view on Meta::CPAN
package Foo;
use Moose;
use MooseX::Types::Ro qw(RoArrayRef RoHashRef);
has array => ( is => 'ro', isa => RoArrayRef, coerce => 1 );
has hash => ( is => 'ro', isa => RoHashRef, coerce => 1 );
my $foo = Foo->new(array => [1, 2, 3], hash => { foo => 1, bar => 2 });
# These all throw exceptions now:
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MooseX/Types/Combine.pm view on Meta::CPAN
#pod use Moose;
#pod
#pod use TransportTypes qw( CarType SkisType );
#pod
#pod has car => ( is => 'ro', isa => CarType, required => 1 );
#pod has ski_rack => ( is => 'ro', isa => ArrayRef[SkisType], required => 1 );
#pod ...
#pod
#pod Libraries on the right end of the list passed to L</provide_types_from> take
#pod precedence over those on the left in case of conflicts. So, in the above
#pod example if both the C<MotorizedTypes> and C<UnmotorizedTypes> libraries provided
lib/MooseX/Types/Combine.pm view on Meta::CPAN
use Moose;
use TransportTypes qw( CarType SkisType );
has car => ( is => 'ro', isa => CarType, required => 1 );
has ski_rack => ( is => 'ro', isa => ArrayRef[SkisType], required => 1 );
...
Libraries on the right end of the list passed to L</provide_types_from> take
precedence over those on the left in case of conflicts. So, in the above
example if both the C<MotorizedTypes> and C<UnmotorizedTypes> libraries provided
view all matches for this distribution
view release on metacpan or search on metacpan
examples/bench.pl view on Meta::CPAN
BEGIN {
package Local::Standard;
use Moose;
has n => ( is => 'ro', isa => 'Int', required => 1 );
has children => ( is => 'ro', isa => 'ArrayRef', lazy => 1, builder => '_build_children' );
has sum => ( is => 'ro', isa => 'Int', lazy => 1, builder => '_build_sum' );
sub _build_children {
my $self = shift;
return [] if $self->n < 1;
examples/bench.pl view on Meta::CPAN
use MooseX::XSAccessor;
use MooseX::XSConstructor;
use Types::Common -types;
has n => ( is => 'ro', isa => Int, required => 1 );
has children => ( is => 'ro', isa => ArrayRef, lazy => 1, builder => '_build_children' );
has sum => ( is => 'ro', isa => Int, lazy => 1, builder => '_build_sum' );
sub _build_children {
my $self = shift;
return [] if $self->n < 1;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MsOffice/Word/Surgeon.pm view on Meta::CPAN
# syntax to show embedded fields -- used by PackagePart::replace_field
has 'show_embedded_field' => (is => 'ro', isa => 'Str', default => '{%s}');
# inner attributes lazily constructed by the module
has_inner 'parts' => (is => 'ro', isa => 'HashRef[MsOffice::Word::Surgeon::PackagePart]',
traits => ['Hash'], handles => {part => 'get'});
has_inner 'document' => (is => 'ro', isa => 'MsOffice::Word::Surgeon::PackagePart',
handles => [qw/contents original_contents indented_contents plain_text replace/]);
# Note: this attribute is equivalent to $self->part('document'); made into an attribute
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MsOffice/Word/Template.pm view on Meta::CPAN
# See also BUILDARGS: the constructor can also take a "docx" arg
# that will be automatically translated into a "surgeon" attribute
has 'surgeon' => (is => 'ro', isa => 'MsOffice::Word::Surgeon', required => 1);
has 'data_color' => (is => 'ro', isa => 'Str', default => "yellow");
has 'control_color' => (is => 'ro', isa => 'Str', default => "green");
has 'part_names' => (is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
default => sub {[keys shift->surgeon->parts->%*]});
has 'property_files'=> (is => 'ro', isa => 'ArrayRef[Str]',
default => sub {[qw(docProps/core.xml docProps/app.xml docProps/custom.xml)]});
# constructor attributes for building a templating engine
has 'engine_class' => (is => 'ro', isa => 'Str', default => 'TT2');
has 'engine_args' => (is => 'ro', isa => 'ArrayRef', default => sub {[]});
# attributes lazily constructed by the module -- not received through the constructor
has_inner 'engine' => (is => 'ro', isa => 'MsOffice::Word::Template::Engine');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Amazon/EC2/AvailabilityZone.pm view on Meta::CPAN
=cut
has 'zone_name' => ( is => 'ro', isa => 'Str', required => 1 );
has 'zone_state' => ( is => 'ro', isa => 'Str', required => 1 );
has 'region_name' => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
has 'messages' => ( is => 'ro', isa => 'ArrayRef[Net::Amazon::EC2::AvailabilityZoneMessage]|Undef', required => 0 );
__PACKAGE__->meta->make_immutable();
=head1 AUTHOR
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Amazon/EMR/AddInstanceGroupsResult.pm view on Meta::CPAN
use Moose;
with 'Net::Amazon::EMR::Role::AttrHash';
use Net::Amazon::EMR::Coercions;
has 'InstanceGroupIds' => ( is => 'ro', isa => 'Net::Amazon::EMR::Type::ArrayRefofStr', coerce => 1 );
has 'JobFlowId' => ( is => 'ro', isa => 'Str' );
__PACKAGE__->meta->make_immutable();
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Amazon/S3/HTTPRequest.pm view on Meta::CPAN
has 's3' => ( is => 'ro', isa => 'Net::Amazon::S3', required => 1 );
has 'method' => ( is => 'ro', isa => 'HTTPMethod', required => 1 );
has 'path' => ( is => 'ro', isa => 'Str', required => 1 );
has 'headers' =>
( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
has 'content' =>
( is => 'ro', isa => 'Str|CodeRef|ScalarRef', required => 0, default => '' );
has 'metadata' =>
( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
has use_virtual_host => (
is => 'ro',
isa => 'Bool',
lazy => 1,
default => sub { $_[0]->s3->use_virtual_host },
view all matches for this distribution
view release on metacpan or search on metacpan
.claude/skills/perl-moo/SKILL.md view on Meta::CPAN
Moo has no built-in type system. `isa` takes a coderef:
```perl
use Types::Standard qw(Str Int ArrayRef);
has name => (is => 'ro', isa => Str);
has tags => (is => 'ro', isa => ArrayRef[Str], default => sub { [] });
```
`Type::Tiny` / `Types::Standard` is the official recommendation in Moo docs (replaces `MooseX::Types`).
---
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/CascadeCopy.pm view on Meta::CPAN
use POSIX ":sys_wait_h"; # imports WNOHANG
use Proc::Queue size => 32, debug => 0, trace => 0, delay => 1;
my $logger = get_logger( 'default' );
has data => ( is => 'ro', isa => 'HashRef', default => sub { return {} } );
has total_time => ( is => 'rw', isa => 'Num', default => 0 );
has ssh => ( is => 'ro', isa => 'Str', default => "ssh" );
has ssh_args => ( is => 'ro', isa => 'Str', default => "-x -A" );
lib/Net/CascadeCopy.pm view on Meta::CPAN
# maximum processes per remote server
has max_forks => ( is => 'ro', isa => 'Num', default => 2 );
# keep track of child processes
has children => ( is => 'ro', isa => 'HashRef', default => sub { return {} } );
# for testing purposes
has transfer_map => ( is => 'ro', isa => 'HashRef', default => sub { return {} } );
# sort order
has sort_order => ( is => 'ro', isa => 'HashRef', default => sub { return {} } );
sub add_group {
my ( $self, $group, $servers_a ) = @_;
$logger->info( "Adding group: $group: ",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/DNS/Dynamic/Adfilter.pm view on Meta::CPAN
#use Data::Dumper;
extends 'Net::DNS::Dynamic::Proxyserver';
has adblock_stack => ( is => 'ro', isa => 'ArrayRef', required => 0 );
has blacklist => ( is => 'ro', isa => 'Str', required => 0 );
has whitelist => ( is => 'ro', isa => 'Str', required => 0 );
has loopback => ( is => 'ro', isa => 'Str', required => 0 );
has adfilter => ( is => 'rw', isa => 'HashRef', required => 0 );
has network => ( is => 'rw', isa => 'HashRef', required => 0 );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/DNS/Dynamic/Proxyserver.pm view on Meta::CPAN
has debug => ( is => 'ro', isa => 'Int', required => 0, default => 0 );
has host => ( is => 'ro', isa => 'Str', required => 0, default => '*' );
has port => ( is => 'ro', isa => 'Int', required => 0, default => 53 );
has uid => ( is => 'ro', isa => 'Int', required => 0 );
has gid => ( is => 'ro', isa => 'Int', required => 0 );
has ask_etc_hosts => ( is => 'ro', isa => 'HashRef', required => 0 );
has ask_sql => ( is => 'ro', isa => 'Net.DNS.Dynamic.Proxyserver.ValidSQLArguments', required => 0 );
has addrs => ( is => 'rw', isa => 'HashRef', init_arg => undef );
has forwarders => ( is => 'rw', isa => 'ArrayRef', required => 0, init_arg => 'nameservers' );
has forwarders_port => ( is => 'ro', isa => 'Int', required => 0, init_arg => 'nameservers_port' );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Fluidinfo/Namespace.pm view on Meta::CPAN
use Moose;
extends 'Net::Fluidinfo::Base';
has description => (is => 'rw', isa => 'Str');
has parent => (is => 'ro', isa => 'Maybe[Net::Fluidinfo::Namespace]', lazy_build => 1);
has namespace_names => (is => 'ro', isa => 'ArrayRef[Str]', writer => '_set_namespace_names');
has tag_names => (is => 'ro', isa => 'ArrayRef[Str]', writer => '_set_tag_names');
with 'Net::Fluidinfo::HasObject', 'Net::Fluidinfo::HasPath';
our %FULL_GET_FLAGS = (
description => 1,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Google/Blogger/Blog.pm view on Meta::CPAN
has numeric_id => ( is => 'ro', isa => 'Str', required => 1 );
has title => ( is => 'rw', isa => 'Str', required => 1 );
has public_url => ( is => 'ro', isa => 'Str', required => 1 );
has id_url => ( is => 'ro', isa => 'Str', required => 1 );
has post_url => ( is => 'ro', isa => 'Str', required => 1 );
has source_xml_tree => ( is => 'ro', isa => 'HashRef', required => 1 );
has blogger => ( is => 'ro', isa => 'Net::Google::Blogger', required => 1 );
has entries => (
is => 'rw',
isa => 'ArrayRef[Net::Google::Blogger::Blog::Entry]',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Google/DataAPI/Auth/ClientLogin/Multiple.pm view on Meta::CPAN
has account_type => ( is => 'ro', isa => 'Str', required => 1, default => 'HOSTED_OR_GOOGLE' );
has source => ( is => 'ro', isa => 'Str', required => 1, default => __PACKAGE__ );
has username => ( is => 'ro', isa => 'Str', required => 1 );
has password => ( is => 'ro', isa => 'Str', required => 1 );
has services => ( is => 'ro', isa => 'HashRef', required => 1 );
has tokens => ( is => 'rw', isa => 'HashRef', default => sub { +{} });
sub sign_request {
my ($self, $req, $host) = @_;
$host ||= $req->uri->host;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Google/DocumentsList/Metadata.pm view on Meta::CPAN
}
);
entry_has quota_bytes_total => (is => 'ro', isa => 'Int', tagname => 'quotaBytesTotal', ns => 'gd');
entry_has quota_bytes_used => (is => 'ro', isa => 'Int', tagname => 'quotaBytesUsed', ns => 'gd');
entry_has quota_bytes_used_in_trash => (is => 'ro', isa => 'Int', tagname => 'quotaBytesUsed', ns => 'gd');
entry_has max_upload_size => (is => 'ro', isa => 'HashRef',
from_atom => sub {
my ($self, $atom) = @_;
+{
map { $_->getAttribute('kind') => $_->textContent }
nodelist($atom->elem, $self->ns('docs')->{uri}, 'maxUploadSize')
}
},
);
for my $tag (qw(importFormat exportFormat)) {
entry_has String::CamelCase::decamelize($tag) => (is => 'ro', isa => 'HashRef',
from_atom => sub {
my ($self, $atom) = @_;
my $res = {};
for my $node (nodelist($atom->elem, $self->ns('docs')->{uri}, $tag)) {
my $source = $node->getAttribute('source');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/LCDproc/Screen.pm view on Meta::CPAN
has is_new => (is => 'rw', isa => Bool, default => 1);
has _lcdproc => (is => 'rw', isa => InstanceOf['Net::LCDproc']);
has _state => (is => 'ro', isa => HashRef, default => sub {{}});
sub set {
my ($self, $attr, $val) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Mattermost/Bot.pm view on Meta::CPAN
has username => (is => 'ro', isa => Str, required => 1);
has password => (is => 'ro', isa => Str, required => 1);
has debug => (is => 'ro', isa => Bool, default => 0);
has ping_interval => (is => 'ro', isa => Int, default => 15);
has ssl_opts => (is => 'ro', isa => HashRef, default => sub { {} });
has token => (is => 'rw', isa => Str, default => '');
has user_id => (is => 'rw', isa => Str, default => '');
has api_url => (is => 'ro', isa => Str, lazy => 1, builder => '_build_api_url');
has endpoints => (is => 'ro', isa => HashRef, lazy => 1, builder => '_build_endpoints');
has furl => (is => 'ro', isa => Object, lazy => 1, builder => '_build_furl');
has headers => (is => 'rw', isa => ArrayRef, lazy => 1, builder => '_build_headers',
handles_via => 'Array',
handles => { add_header => 'push' });
has ws_url => (is => 'ro', isa => Str, lazy => 1, builder => '_build_ws_url');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/PMP/CollectionDoc.pm view on Meta::CPAN
is => 'rw',
isa => 'Net::PMP::Type::Href',
required => 0,
coerce => 1,
);
has 'links' => ( is => 'ro', isa => 'HashRef', required => 0, );
has 'attributes' => ( is => 'ro', isa => 'HashRef', required => 0, );
has 'version' =>
( is => 'ro', isa => 'Str', required => 1, default => sub {'1.0'}, );
has 'items' => ( is => 'ro', isa => 'ArrayRef', required => 0, );
=head1 NAME
Net::PMP::CollectionDoc - Collection.doc+JSON object for Net::PMP::Client
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Plurk/Plurk.pm view on Meta::CPAN
has 'no_comments' => (is => 'ro', isa => 'Int');
has 'content' => (is => 'ro', isa => 'Str');
has 'content_raw' => (is => 'ro', isa => 'Str');
has 'response_count' => (is => 'ro', isa => 'Int');
has 'responses_seen' => (is => 'ro', isa => 'Int');
has 'limited_to' => (is => 'ro', isa => 'ArrayRef[Int] | Undef');
no Moose::Util::TypeConstraints;
no Moose;
__PACKAGE__->meta->make_immutable;
1;
view all matches for this distribution
view release on metacpan or search on metacpan
my $datafile = dist_file( 'Net-RIR_CC', 'list-of-country-codes-and-rirs-ordered-by-country-code.html' );
-f $datafile or die "Missing datafile '$datafile'\n";
return $datafile;
} );
has 'table' => ( is => 'ro', lazy_build => 1 );
has 'cc_map' => ( is => 'ro', isa => 'HashRef', lazy_build => 1 );
has 'a3_map' => ( is => 'ro', isa => 'HashRef', lazy_build => 1 );
sub _build_table {
my $self = shift;
my $te = HTML::TableExtract->new( headers => [ 'A 2', 'A 3', 'Region' ] );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/RackSpace/CloudServers/Server.pm view on Meta::CPAN
isa => 'Maybe[ArrayRef[Str]]',
required => 1,
default => undef
);
has 'metadata' =>
(is => 'ro', isa => 'Maybe[HashRef]', required => 1, default => undef);
has 'personality' =>
(is => 'ro', isa => 'Maybe[ArrayRef]', required => 1, default => undef);
no Any::Moose;
__PACKAGE__->meta->make_immutable();
sub change_root_password {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/Riak/MapReducePhase.pm view on Meta::CPAN
use Scalar::Util;
use JSON;
has type => (is => 'rw', isa => 'Str', required => 1,);
has function => (is => 'ro', isa => 'Str', required => 1);
has arg => (is => 'ro', isa => 'ArrayRef', default => 'None');
has language => (is => 'ro', isa => 'Str', default => 'javascript');
has keep => (is => 'rw', isa => 'JSON::Boolean', default => sub {JSON::false});
sub to_array {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Net/SAML2/SP.pm view on Meta::CPAN
has 'authnreq_signed' => (isa => 'Bool', is => 'ro', required => 0, default => 1);
has 'want_assertions_signed' => (isa => 'Bool', is => 'ro', required => 0, default => 1);
has 'sign_metadata' => (isa => 'Bool', is => 'ro', required => 0, default => 1);
has assertion_consumer_service => (is => 'ro', isa => 'ArrayRef', required => 1);
has single_logout_service => (is => 'ro', isa => 'ArrayRef', required => 1);
around BUILDARGS => sub {
my $orig = shift;
my $self = shift;
view all matches for this distribution