view release on metacpan or search on metacpan
lib/GraphQL/AsyncIterator.pm view on Meta::CPAN
Resolves the relevant promise with C<@values>.
=cut
has _values_queue => (is => 'ro', isa => ArrayRef, default => sub { [] });
has _next_promise => (is => 'rw', isa => Maybe[Promise]);
method publish(@values) {
$self->_emit('resolve', \@values);
}
lib/GraphQL/AsyncIterator.pm view on Meta::CPAN
attached to promises returned by L</next_p>. Returns self.
=cut
has _handler_frames => (
is => 'ro', isa => ArrayRef[ArrayRef[CodeLike]], default => sub {[]},
);
method map_then(Maybe[CodeLike] $then, Maybe[CodeLike] $catch = undef) {
push @{$self->_handler_frames}, [ $then, $catch ];
$self;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Graphics/Skullplot.pm view on Meta::CPAN
=cut
# required arguments to new
has input_file => ( is => 'ro', isa => Str, required => 1); # must be dbox format
has plot_hints => ( is => 'ro', isa => HashRef, required => 1);
has working_area => ( is => 'rw', isa => Maybe[Str], default => "/tmp" );
has image_viewer => ( is => 'rw', isa => Maybe[Str], lazy => 1, builder => "builder_image_viewer" );
# mostly for internal use
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/FormHandler/Model/DBIC/TypeMap.pm view on Meta::CPAN
use Moose;
use namespace::autoclean;
has 'data_type_map' => ( is => 'ro', isa => 'HashRef',
lazy => 1, builder => 'build_data_type_map',
traits => ['Hash'],
handles => {
get_field_type => 'get'
},
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/FormHandler.pm view on Meta::CPAN
my $result = $result_class->new( name => $self->name, form => $self );
return $result;
}
has 'index' => (
is => 'ro', isa => 'HashRef[HTML::FormHandler::Field]', traits => ['Hash'],
default => sub {{}},
handles => {
add_to_index => 'set',
field_from_index => 'get',
field_in_index => 'exists',
lib/HTML/FormHandler.pm view on Meta::CPAN
has_repeatable_fields => 'count',
all_repeatable_fields => 'elements',
},
);
has 'field_traits' => ( is => 'ro', traits => ['Array'], isa => 'ArrayRef',
default => sub {[]}, handles => { 'has_field_traits' => 'count' } );
has 'widget_name_space' => (
is => 'ro',
isa => 'HFH::ArrayRefStr',
traits => ['Array'],
lib/HTML/FormHandler.pm view on Meta::CPAN
isa => LoadableClass,
coerce => 1,
default => 'HTML::FormHandler::Params',
);
has 'params_args' => ( is => 'ro', isa => 'ArrayRef' );
sub BUILDARGS {
my $class = shift;
if ( scalar @_ == 1 && ref( $_[0]) ne 'HASH' ) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/Linear.pm view on Meta::CPAN
sub set_strict { shift->_set__strict(1) }
sub unset_strict { shift->_set__strict(0) }
has _uniq => (is => 'ro', isa => HashRef[Str], default => sub { {} });
has _path_count => (is => 'ro', isa => HashRef[Str], default => sub { {} });
after eof => sub {
my ($self) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTTP/Throwable.pm view on Meta::CPAN
isa => Str,
predicate => 'has_message',
);
# TODO: type this attribute more strongly -- rjbs, 2011-02-21
has 'additional_headers' => ( is => 'ro', isa => ArrayRef );
sub build_headers {
my ($self, $body) = @_;
my @headers;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Ham/Fldigi.pm view on Meta::CPAN
use Moose;
use Ham::Fldigi::Client;
use Ham::Fldigi::Shell;
use base qw(Ham::Fldigi::Debug);
has 'clients' => (is => 'ro', isa => 'HashRef[Ham::Fldigi::Client');
=head1 CONSTRUCTORS
=head2 Fldigi->new([I<LogLevel> => n, ] [I<LogFile> => filename, ] [I<LogPrint> => (0|1), ] [I<LogWrite> => (0|1)])
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Hash/Layout.pm view on Meta::CPAN
use Clone;
use Text::Glob qw( match_glob );
use Hash::Layout::Level;
has 'levels', is => 'ro', isa => ArrayRef[
InstanceOf['Hash::Layout::Level']
], required => 1, coerce => \&_coerce_levels_param;
sub num_levels { scalar(@{(shift)->levels}) }
lib/Hash/Layout.pm view on Meta::CPAN
has 'enable_globmatch', is => 'ro', isa => Bool, default => sub { 0 };
has 'lookup_mode', is => 'rw', isa => Enum[qw(get fallback merge)],
default => sub { 'merge' };
has '_Hash', is => 'ro', isa => HashRef, default => sub {{}}, init_arg => undef;
has '_Hash_fq_composite', is => 'ro', isa => HashRef, default => sub {{}}, init_arg => undef;
has '_all_level_keys', is => 'ro', isa => HashRef, default => sub {{}}, init_arg => undef;
# List of bitmasks representing every key path which includes
# a default_key, with each bit representing the level and '1' toggled on
# where the key is the default
has '_def_key_bitmasks', is => 'ro', isa => HashRef, default => sub {{}}, init_arg => undef;
sub Data { Clone::clone( (shift)->_Hash ) }
sub level_keys {
my ($self, $index) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/AnyEvent/Gearman/Worker/RetryConnection.pm view on Meta::CPAN
use Data::Dumper;
has retrying=>(is=>'rw',isa=>'Int',clearer=>'reset_retry',default=>sub{0});
has retry_timer=>(is=>'rw',isa=>'Object',clearer=>'reset_timer');
has registered=>(is=>'ro',isa=>'HashRef',default=>sub{return {};});
has retry_interval=>(is=>'rw',isa=>'Int',default=>sub{1});
extends 'AnyEvent::Gearman::Worker::Connection';
override connect=>sub{
view all matches for this distribution
view release on metacpan or search on metacpan
lib/IPC/SRLock.pm view on Meta::CPAN
# Private attributes
has '_implementation' => is => 'lazy', isa => Object,
handles => [ qw( get_table list reset set ) ],
builder => $_build__implementation;
has '_implementation_attr' => is => 'ro', isa => HashRef, required => 1;
has '_implementation_class' => is => 'lazy', isa => LoadableClass,
builder => $_build__implementation_class;
# Construction
view all matches for this distribution
view release on metacpan or search on metacpan
lib/InfluxDB/Writer/CompactFiles.pm view on Meta::CPAN
use Sys::Hostname qw(hostname);
use InfluxDB::LineProtocol qw(line2data data2line);
use Time::Moment;
has 'dir' => ( is => 'ro', isa => 'Str', required => 1 );
has 'tags' => ( is => 'ro', isa => 'HashRef', predicate => 'has_tags' );
has 'delete' => ( is => 'ro', isa => 'Bool', default => 1 );
sub run {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Interchange/Search/Solr.pm view on Meta::CPAN
=cut
has stop_words => (is => 'lazy', isa => HashRef);
has stop_words_langs => (is => 'ro', default => sub { [qw/en/ ] }, isa => ArrayRef);
sub _build_stop_words {
my $self = shift;
my @stopwords;
foreach my $lang (@{ $self->stop_words_langs }) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/JQuery/DataTables/Heavy.pm view on Meta::CPAN
use Class::Load ();
use namespace::clean;
has subclass => ( is => 'lazy', isa => ConsumerOf [ __PACKAGE__ . '::Base' ] );
has args => ( is => 'ro', isa => HashRef, required => 1 );
around BUILDARGS => sub {
my $orig = shift;
my $class = shift;
my $orig_args = $class->$orig(@_);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/JSON/API/Error.pm view on Meta::CPAN
our $VERSION = '0.01';
has code => (is => 'ro', isa => Str);
has detail => (is => 'ro', isa => Str);
has id => (is => 'ro', isa => Str);
has links => (is => 'ro', isa => HashRef);
has meta => (is => 'ro', isa => HashRef);
has source => (is => 'ro', isa => HashRef);
has status => (is => 'ro', isa => Str);
has title => (is => 'ro', isa => Str);
sub to_string {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/KubeBuilder.pm view on Meta::CPAN
return \%objects;
}
);
has method_groups => (is => 'ro', isa => 'HashRef[KubeBuilder::Group]', lazy => 1, default => sub {
my $self = shift;
my %groups = ();
foreach my $m (@{ $self->method_list }) {
my $group_name = $m->group;
$groups{ $group_name } = KubeBuilder::Group->new(methods => [], name => $group_name) if (not defined $groups{ $group_name });
push @{ $groups{ $group_name }->methods }, $m;
}
return \%groups;
});
has method_groups_list => (is => 'ro', isa => 'ArrayRef[KubeBuilder::Group]', lazy => 1, default => sub {
my $self = shift;
[ map { $self->method_groups->{ $_ } } sort keys %{ $self->method_groups } ];
});
has method_list => (is => 'ro', isa => 'ArrayRef[KubeBuilder::Method]', lazy => 1, default => sub {
my $self = shift;
[ map { $self->methods->{ $_ } } sort keys %{ $self->methods } ];
});
has methods => (
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Kubectl/CLIWrapper/Result.pm view on Meta::CPAN
package Kubectl::CLIWrapper::Result {
use Moo;
use Types::Standard qw/Int Str HashRef Bool/;
has rc => (is => 'ro', isa => Int, required => 1);
has output => (is => 'ro', isa => Str);
has json => (is => 'ro', isa => HashRef);
has success => (is => 'ro', isa => Bool, lazy => 1, default => sub {
my $self = shift;
$self->rc == 0;
});
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/Lab/Moose/Instrument/OI_IPS.pm view on Meta::CPAN
# Ideally, max_fields and max_field_rates should be preconfigured in a
# subclass, with values specific for the magnet used at the setup
has max_fields =>
( is => 'ro', isa => 'ArrayRef[Lab::Moose::PosNum]', required => 1 );
has max_field_rates =>
( is => 'ro', isa => 'ArrayRef[Lab::Moose::PosNum]', required => 1 );
has verbose => (
is => 'ro',
isa => 'Bool',
default => 1
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
.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
ex/synopsis.pl view on Meta::CPAN
# package GeoJSON::Point;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'Point');
# has 'coordinates' => (is => 'ro', isa => 'ArrayRef[Num]', required => 1);
#
# package GeoJSON::LineString;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'LineString');
# has 'coordinates' => (is => 'ro', isa => 'ArrayRef[ArrayRef[Num]]', required => 1);
#
# package GeoJSON::Polygon;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'Polygon');
# has 'coordinates' => (is => 'ro', isa => 'ArrayRef[ArrayRef[ArrayRef[Num]]]', required => 1);
#
# package GeoJSON::MultiPoint;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'MultiPoint');
# has 'coordinates' => (is => 'ro', isa => 'ArrayRef[ArrayRef[Num]]', required => 1);
#
# package GeoJSON::MultiLineString;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'MultiLineString');
# has 'coordinates' => (is => 'ro', isa => 'ArrayRef[ArrayRef[ArrayRef[Num]]]', required => 1);
#
# package GeoJSON::MultiPolygon;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'MultiPolygon');
# has 'coordinates' => (is => 'ro', isa => 'ArrayRef[ArrayRef[ArrayRef[ArrayRef[Num]]]]', required => 1);
#
# package GeoJSON::GeometryCollection;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'GeometryCollection');
# has 'geometries' => (is => 'ro', isa => 'ArrayRef[GeoJSON]', required => 1);
#
# package GeoJSON::Feature;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'Feature');
# has 'geometry' => (is => 'ro', isa => 'GeoJSON', required => 1);
# has 'properties' => (is => 'ro', isa => 'HashRef', default => sub { {} });
# has 'id' => (is => 'ro', isa => 'Str', predicate => 'has_id');
#
# package GeoJSON::FeatureCollection;
# use Moose;
# extends 'GeoJSON';
#
# has '+type' => (default => 'FeatureCollection');
# has 'features' => (is => 'ro', isa => 'ArrayRef[GeoJSON::Feature]', required => 1);
#
# 1;
# ```
#
# This set of classes provides a structured way to work with GeoJSON data in Perl using Moose. Here's a brief explanation of each class:
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Lemonldap/NG/Manager/Conf/Parser.pm view on Meta::CPAN
hdebug( "condChanged: " . $_[0]->{confChanged} );
}
);
# Properties required during build
has refConf => ( is => 'ro', isa => 'HashRef', required => 1 );
has req => ( is => 'ro', required => 1 );
has newConf => ( is => 'rw', isa => 'HashRef' );
has tree => ( is => 'rw', isa => 'ArrayRef' );
# High debug method
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Lingua/Thesaurus/Storage.pm view on Meta::CPAN
#======================================================================
# ATTRIBUTES
#======================================================================
has 'params' => (is => 'ro', isa => 'HashRef',
lazy => 1, builder => '_params',
predicate => 'has_params',
documentation => "params saved in storage");
has 'term_class' => (is => 'ro', isa => 'ClassName',
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/Log/Log4perl/Appender/Chunk.pm view on Meta::CPAN
# Store:
has 'store' => ( is => 'ro', isa => 'Log::Log4perl::Appender::Chunk::Store',
required => 1, lazy_build => 1);
has 'store_class' => ( is => 'ro' , isa => 'Str' , default => 'Null' );
has 'store_args' => ( is => 'ro' , isa => 'HashRef' , default => sub{ {}; });
has 'store_builder' => ( is => 'ro' , isa => 'CodeRef', required => 1, default => sub{
my ($self) = @_;
sub{
$self->_full_store_class()->new($self->store_args());
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Log/Log4perl/Appender/Raven.pm view on Meta::CPAN
has 'sentry_dsn' => ( is => 'ro', isa => 'Maybe[Str]' );
has 'sentry_timeout' => ( is => 'ro' , isa => 'Int' ,required => 1 , default => 1 );
has 'sentry_culprit_template' => ( is => 'ro', isa => 'Str', required => 1 , default => '{$function}');
has 'infect_die' => ( is => 'ro' , isa => 'Bool', default => 0 );
# STATIC CONTEXT
has 'context' => ( is => 'ro' , isa => 'HashRef', default => sub{ {}; });
# STATIC TAGS. They will go in the global context.
has 'tags' => ( is => 'ro' ,isa => 'HashRef', default => sub{ {}; });
# Log4Perl MDC key to look for tags
has 'mdc_tags' => ( is => 'ro' , isa => 'Maybe[Str]' , default => 'sentry_tags' );
# Log4perl MDC key to look for extra
has 'mdc_extra' => ( is => 'ro', isa => 'Maybe[Str]' , default => 'sentry_extra' );
# Log4perl MDC key to look for user data.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Log/Saftpresse/Counters.pm view on Meta::CPAN
our $VERSION = '1.6'; # VERSION
use Carp;
has 'counters' => (
is => 'ro', isa => 'HashRef', lazy => 1,
default => sub { {} },
);
sub incr_one {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/Decency/ContentFilter/Core.pm view on Meta::CPAN
=head2 ArrayRef[Str] : Int
For easy module initialization, developers can set array of the config params. They will be set if they are defined.
# do this
has config_params => ( is => 'ro', isa => 'ArrayRef[Str]', default => sub { [ qw/ something / ] } );
# an it will be initialized
$self->something( $self->config->{ something } )
if defined $self->config->{ something };
=cut
has config_params => ( is => 'ro', isa => 'ArrayRef[Str]', predicate => 'has_config_params' );
=head1 METHODS
=head2 init
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/MtPolicyd/AddressList.pm view on Meta::CPAN
our $VERSION = '2.05'; # VERSION
# ABSTRACT: a class for IP address lists
use NetAddr::IP;
has '_localhost_addr' => ( is => 'ro', isa => 'ArrayRef[NetAddr::IP]',
lazy => 1,
default => sub {
return [ map { NetAddr::IP->new( $_ ) }
( '127.0.0.0/8', '::ffff:127.0.0.0/104', '::1' ) ];
},
);
has 'list' => (
is => 'ro', isa => 'ArrayRef[NetAddr::IP]', lazy => 1,
default => sub { [] },
traits => [ 'Array' ],
handles => {
'add' => 'push',
'is_empty' => 'is_empty',
view all matches for this distribution
view release on metacpan or search on metacpan
contrib/perftest-awl view on Meta::CPAN
documentation => 'score added to each entry',
cmd_aliases => 's',
traits => [ 'Getopt' ],
);
has '_addr' => ( is => 'ro', isa => 'ArrayRef[Str]', lazy => 1,
default => sub {
my $self = shift;
my @e;
for( my $i = 0 ; $i < $self->num_entries ; $i++ ) {
push( @e, 'preftest-awl-'.$i)
view all matches for this distribution