Result:
found more than 286 distributions - search limited to the first 2001 files matching your query ( run in 0.427 )


File-Gettext

 view release on metacpan or  search on metacpan

lib/File/Gettext.pm  view on Meta::CPAN

my $SourceType = enum 'SourceType' => [ 'mo', 'po' ];

# Public attributes
has 'charset'           => is => 'ro', isa => Str, default => 'iso-8859-1';

has 'default_po_header' => is => 'ro', isa => HashRef,
   default              => sub { {
      appname           => 'Your_Application',
      company           => 'ExampleCom',
      email             => '<translators@example.com>',
      lang              => 'en',
      team              => 'Translators',
      translator        => 'Athena', } };

has 'gettext_catagory'  => is => 'ro', isa => Str, default => 'LC_MESSAGES';

has 'header_key_table'  => is => 'ro', isa => HashRef,
   default              => sub { {
      project_id_version        => [ 0,  'Project-Id-Version'        ],
      report_msgid_bugs_to      => [ 1,  'Report-Msgid-Bugs-To'      ],
      pot_creation_date         => [ 2,  'POT-Creation-Date'         ],
      po_revision_date          => [ 3,  'PO-Revision-Date'          ],

 view all matches for this distribution


Finance-Alpaca

 view release on metacpan or  search on metacpan

lib/Finance/Alpaca/Struct/Order.pm  view on Meta::CPAN

            qw[new partially_filled filled done_for_day canceled expired replaced pending_cancel pending_replace accepted pending_new accepted_for_bidding stopped rejected suspended calculated held]
        ],
        required => 1
    );
    has extended_hours => ( is => 'ro', isa => Bool, required => 1, coerce => 1 );
    has legs => ( is => 'ro', isa => Maybe [ ArrayRef [Order] ], coerce => 1 );
}
1;
__END__

=encoding utf-8

 view all matches for this distribution


Finance-Wesabe

 view release on metacpan or  search on metacpan

lib/Finance/Wesabe/Account.pm  view on Meta::CPAN


=back

=cut

has content => ( is => 'ro', isa => 'HashRef' );

has parent => ( is => 'ro', isa => 'Object' );

=head1 ACCOUNT INFORMATION

 view all matches for this distribution


Firewall-Config-Content

 view release on metacpan or  search on metacpan

lib/Firewall/Config/Content/Role.pm  view on Meta::CPAN


has confSign => ( is => 'ro', isa => 'Str', required => 1, );

has timestamp => ( is => 'ro', isa => 'Str', required => 1, );

has lineParsedFlags => ( is => 'ro', isa => 'ArrayRef[Int]', builder => '_buildLineParsedFlags', );

#------------------------------------------------------------------------------
# Content 子类必须实现的方法
#------------------------------------------------------------------------------
requires 'config';

 view all matches for this distribution


Firewall-Config-Element

 view release on metacpan or  search on metacpan

lib/Firewall/Config/Element/Interface/Role.pm  view on Meta::CPAN

has interfaceType => ( is => 'ro', isa => 'Str', default => 'layer2', );

has range => ( is => 'ro', isa => 'Firewall::Utils::Set', default => sub { Firewall::Utils::Set->new() } );

# 接口路由
has routes => ( is => 'ro', isa => 'HashRef', lazy => 1, default => sub { {} }, );

# 接口安全区
has zoneName => ( is => 'ro', isa => 'Str', required => 0, );

#------------------------------------------------------------------------------

 view all matches for this distribution


Firewall-Config-Parser

 view release on metacpan or  search on metacpan

lib/Firewall/Config/Parser/Asa.pm  view on Meta::CPAN

use Firewall::Utils::Ip;

#------------------------------------------------------------------------------
# Firewall::Config::Parser::Asa 通用属性
#------------------------------------------------------------------------------
has aclLineNumbers => ( is => 'ro', isa => 'HashRef[Int]', default => sub { {} }, );

#------------------------------------------------------------------------------
# 定义 Firewall::Config::Parser::Asa 配置解析入口函数
# parse 为 Firewall::Config::Parser::Role 角色必须实现的方法
#------------------------------------------------------------------------------

 view all matches for this distribution


Firewall-DBI

 view release on metacpan or  search on metacpan

lib/Firewall/DBI/Oracle.pm  view on Meta::CPAN

#------------------------------------------------------------------------------
# 继承 Firewall::DBI::Role 方法属性
#------------------------------------------------------------------------------
with 'Firewall::DBI::Role';

has option => ( is => 'ro', isa => 'Undef | HashRef[Str]', default => undef, );

has '+dbi' => ( isa => 'DBIx::Custom', handles => qr/^(?:select|update|insert|delete|execute|user).*/, );

for my $func (qw( execute delete update insert batchExecute )) {
  around $func => sub {

 view all matches for this distribution


Firewall-Policy-Designer

 view release on metacpan or  search on metacpan

lib/Firewall/Policy/Designer/Asa.pm  view on Meta::CPAN


has dbi => ( is => 'ro', does => 'Firewall::DBI::Role', required => 1, );

has searcherReportFwInfo => ( is => 'ro', isa => 'Firewall::Policy::Searcher::Report::FwInfo', required => 1, );

has commandText => ( is => 'ro', isa => 'ArrayRef[Str]', default => sub { [] }, );

sub addToCommandText {
  my ( $self, @commands ) = @_;
  push @{$self->commandText}, @commands;
}

 view all matches for this distribution


Firewall-Utils

 view release on metacpan or  search on metacpan

lib/Firewall/Utils/Cache.pm  view on Meta::CPAN

# 加载扩展模块
#------------------------------------------------------------------------------
use Moose;
use namespace::autoclean;

has cache => ( is => 'ro', isa => 'HashRef[Ref]', default => sub { {} }, );

sub get {
  my $self = shift;
  return $self->locate(@_);
}

 view all matches for this distribution


Form-Toolkit

 view release on metacpan or  search on metacpan

lib/Form/Toolkit/KVPairs/Pure.pm  view on Meta::CPAN

                              ]});


=cut

has 'array' => ( is => 'ro' , isa => 'ArrayRef[HashRef]' , required => 1);

## Internal stuff
has '_index' => ( is => 'ro' , isa => 'HashRef[Defined]' , lazy_build => 1 );
has '_it' => ( is => 'rw' , isa => 'Int' , clearer => '_clear_it' );

sub _build__index{
  my ($self) = @_;

 view all matches for this distribution


Frost

 view release on metacpan or  search on metacpan

lib/Frost/Meta/Class.pm  view on Meta::CPAN

	die "mutable is VERBOTEN";
}

#	PUBLIC ATTRIBUTES
#
has _readonly_attributes	=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _transient_attributes	=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _derived_attributes		=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _virtual_attributes		=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _index_attributes		=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _unique_attributes		=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _auto_id_attributes		=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);
has _auto_inc_attributes	=> ( is => 'ro', isa => 'HashRef',	lazy_build => 1	);

#	CONSTRUCTORS
#
sub _build__readonly_attributes	{ $_[0]->_build_features ( 'readonly'	);	}
sub _build__transient_attributes	{ $_[0]->_build_features ( 'transient'	);	}

 view all matches for this distribution


GCloud-CLIWrapper

 view release on metacpan or  search on metacpan

lib/GCloud/CLIWrapper.pm  view on Meta::CPAN


  our $VERSION = '0.01';

  has gcloud => (is => 'ro', isa => 'Str', default => 'gcloud');

  has gcloud_options => (is => 'ro', isa => 'ArrayRef[Str]', lazy => 1, default => sub { [ ] });

  sub command_for {
    my ($self, @params) = @_;
    return ($self->gcloud, @{ $self->gcloud_options }, @params);
  }

 view all matches for this distribution


Games-Dice-Loaded

 view release on metacpan or  search on metacpan

lib/Games/Dice/Loaded.pm  view on Meta::CPAN

# Generate the dart's coordinates; which vertical slice did the dart land in,
# and is it in the shorter bar on the bottom or the "alias" that's been stacked
# above it?

# Heights of the lower halves of the strips
has 'dartboard' => ( is => 'ro', isa => 'ArrayRef' );
# Identities of the upper halves of the strips
has 'aliases' => ( is => 'ro', isa => 'ArrayRef' );
has 'num_faces' => ( is => 'ro', isa => 'Num' );

# Construct the dartboard and alias table
around BUILDARGS => sub {
	my $orig = shift;

 view all matches for this distribution


Games-Maze

 view release on metacpan or  search on metacpan

lib/Games/Maze.pm  view on Meta::CPAN


has upcolumn_even => ( is => 'ro', isa => Bool );

has [qw( _lvls _rows _cols )] => ( is => 'ro', isa => Int );

has [qw( dimensions entry exit start )] => ( is => 'ro', isa => ArrayRef );

has [qw( form cell generate connect )] => ( is => 'ro', isa => Str );

has '+form'     => default => 'Rectangle';
has '+cell'     => default => 'Quad';

 view all matches for this distribution


Games-TMX-Parser

 view release on metacpan or  search on metacpan

lib/Games/TMX/Parser.pm  view on Meta::CPAN

use Moose;

has id      => (is => 'ro', isa => 'Int', required => 1);
has tileset => (is => 'ro', weak_ref => 1, required => 1);

has properties => (is => 'ro', isa => 'HashRef', default => sub { {} });

sub get_prop {
    my ($self, $name) = @_;
    return $self->properties->{$name};
}

 view all matches for this distribution


Games-Zumbis

 view release on metacpan or  search on metacpan

lib/Games/Zumbis/Mapa.pm  view on Meta::CPAN

use SDL::Video;
use Carp ();

SDL::TTF::init;
has arquivo => (is => 'ro', isa => 'Path::Class::File', required => 1);
has dados => (is => 'ro', isa => 'HashRef' );
has colisao => (is => 'ro', isa => 'ArrayRef');
has tileset => (is => 'ro');

my $lh = Games::Zumbis::L10N->get_handle() or die "unable to indentify language";

# translation handles inside renderer was making things too slow

 view all matches for this distribution


Gearman-SlotManager

 view release on metacpan or  search on metacpan

lib/Gearman/SlotWorker.pm  view on Meta::CPAN

has job_servers=>(is=>'rw',isa=>'ArrayRef', required=>1);
has channel=>(is=>'rw',required=>1);
has workleft=>(is=>'rw',isa=>'Int', default=>-1);

# internal
has exported=>(is=>'ro',isa=>'ArrayRef[Class::MOP::Method]', default=>sub{[]});
has worker=>(is=>'rw');

has is_stopped=>(is=>'rw');
has is_busy=>(is=>'rw');

 view all matches for this distribution


Geo-Address-Mail-Standardizer-USPS-AMS-Results

 view release on metacpan or  search on metacpan

lib/Geo/Address/Mail/Standardizer/USPS/AMS/Results.pm  view on Meta::CPAN

has error		=> (is => 'ro', isa => 'Str|Undef', predicate => 'has_error');
has found		=> (is => 'ro', isa => 'Int', predicate => 'has_found');
has default		=> (is => 'ro', isa => 'Bool', predicate => 'has_default');
has single		=> (is => 'ro', isa => 'Bool', predicate => 'has_single');
has multiple	=> (is => 'ro', isa => 'Bool', predicate => 'has_multiple');
has changed		=> (is => 'ro', isa => 'HashRef', predicate => 'has_changed');
has footnotes	=> (is => 'ro', isa => 'HashRef', predicate => 'has_footnotes');
has messages	=> ( is => 'ro', isa => 'Message::Stack', lazy_build => 1);

has candidates =>
	is		=> 'ro',
	isa		=> 'AddressList',

 view all matches for this distribution


Geo-JSON

 view release on metacpan or  search on metacpan

lib/Geo/JSON/CRS.pm  view on Meta::CPAN

        die "CRS type must be either 'name' or 'link'"
            unless $_[0] && ( $_[0] eq 'name' || $_[0] eq 'link' );
    },
);

has properties => ( is => 'ro', isa => HashRef, required => 1 );

1;

__END__

 view all matches for this distribution


Git-TagVersion

 view release on metacpan or  search on metacpan

lib/Git/TagVersion.pm  view on Meta::CPAN

);

has 'version_regex' => ( is => 'ro', isa => 'Str', default => '^v(\d.+)$' );

has 'versions' => (
  is => 'ro', isa => 'ArrayRef[Git::TagVersion::Version]', lazy => 1,
  default => sub {
    my $self = shift;
    my @versions;

    if( $self->fetch ) {

 view all matches for this distribution


Google-Directions

 view release on metacpan or  search on metacpan

lib/Google/Directions/Response.pm  view on Meta::CPAN


=cut

has 'cached'	    => ( is => 'rw', isa => 'Bool', writer => 'set_cached' );
has 'status'        => ( is => 'ro', isa => StatusCode, required => 1 );
has 'routes'        => ( is => 'ro', isa => ArrayRefOfRoutes, coerce => 1 );

1;

=head1 AUTHOR

 view all matches for this distribution


Grades

 view release on metacpan or  search on metacpan

lib/Grades.pm  view on Meta::CPAN


The content of the league configuration file.

=cut

	has 'yaml' => (is => 'ro', isa => 'HashRef', lazy_build => 1);
	method _build_yaml {
			my $leaguedirs = $self->leagues;
			my $league = $self->id;
			$self->inspect( "$leaguedirs/$league/league.yaml" );
	}

lib/Grades.pm  view on Meta::CPAN


The first week in each session, like { 1 => 1, 2 => 5, 3 => 10, 4 => 14 }, monotonically increasing week numbers.

=cut

	has 'session', (is => 'ro', isa => 'HashRef',
	    lazy => 1, default => sub { shift->yaml->{session} } );


=head3 absentees

lib/Grades.pm  view on Meta::CPAN


Players who have transferred to this league from some other league at some point and the leagues they transferred from.

=cut

	has 'transfer', (is => 'ro', isa => 'HashRef',
	    lazy => 1, default => sub { shift->yaml->{transfer} } );


=head3 is_member

lib/Grades.pm  view on Meta::CPAN


An arrayref of the rounds for which there are homework grades for players in the league, in round order, of the form, [1, 3 .. 7, 9 ..].

=cut

	has 'rounds', (is => 'ro', isa => 'ArrayRef[Int]', lazy_build => 1);
	method _build_rounds {
		my $hwdir = $self->hwdir;
		my @hw = glob "$hwdir/*.yaml";
		[ sort {$a<=>$b} map m/^$hwdir\/(\d+)\.yaml$/, @hw ];
	}

lib/Grades.pm  view on Meta::CPAN


An hashref of the files with data for the rounds for which there are homework grades for players in the league, keyed on rounds.

=cut

	has 'roundfiles', (is => 'ro', isa => 'HashRef[ArrayRef]', lazy_build => 1);
	method _build_roundfiles {
		my $hwdir = $self->hwdir;
		my @hw = glob "$hwdir/*.yaml";
		my @rounds = map m/^$hwdir\/(\d+)\.yaml$/, @hw;
		+{ map { $_ => [ glob "$hwdir/${_}*.yaml" ] } @rounds }

lib/Grades.pm  view on Meta::CPAN


At the moment, just A .. D.

=cut

	has 'roles' => (is => 'ro', isa => 'ArrayRef[Str]',
	    default => sub { [ qw/A B C D/ ] } );


=head3 idsbyRole

lib/Grades.pm  view on Meta::CPAN

The sessions (weeks) over the series (semester) in each of which there was a different grouping and results of players. This method returns an arrayref of the names (numbers) of the sessions, in numerical order, of the form, [1, 3 .. 7, 9, 10 .. 99 ]...

=cut

    has 'series' =>
      ( is => 'ro', isa => 'Maybe[ArrayRef[Int]]', lazy_build => 1 );
    method _build_series {
        my $dir = $self->groupworkdirs;
        my @subdirs = grep { -d } glob "$dir/*";
        [ sort { $a <=> $b } map m/^$dir\/(\d+)$/, @subdirs ];
    }

lib/Grades.pm  view on Meta::CPAN

The pair conversations over the series (semester). This method returns an arrayref of the numbers of the conversations, in numerical order, of the form, [1, 3 .. 7, 9, 10 .. 99 ]. Results are in sub directories of the same name, under compcompdirs.

=cut

    has 'all_events' =>
      ( is => 'ro', isa => 'Maybe[ArrayRef[Int]]', lazy_build => 1 );
    method _build_all_events {
        my $dir = $self->compcompdirs;
        my @subdirs = grep { -d } glob "$dir/*";
        [ sort { $a <=> $b } map m/^$dir\/(\d+)$/, @subdirs ];
    }

lib/Grades.pm  view on Meta::CPAN

An arrayref of the ids of the exams for which there are grades for players in the league, in numerical order, of the form, [1, 3 .. 7, 9, 10 .. 99 ]. Results are in sub directories of the same name, under examdir.

=cut

    has 'examids',
      ( is => 'ro', isa => 'Maybe[ArrayRef[Int]]', lazy_build => 1 );
    method _build_examids {
        my $examdirs = $self->examdirs;
        my @exams   = grep { -d } glob "$examdirs/[0-9] $examdirs/[1-9][0-9]";
        [ sort { $a <=> $b } map m/^$examdirs\/(\d+)$/, @exams ];
    }

lib/Grades.pm  view on Meta::CPAN


A hash ref of the ids of the players and arrays of their results over the exam series, ie examids, in files named 'g.yaml', TODO but only if such a file exists in all examdirs. Otherwise, calculate from raw 'response.yaml' files. Croak if any result ...

=cut

    has 'examResults' => ( is => 'ro', isa => 'HashRef', lazy_build => 1 );
    method _build_examResults {
        my $examids = $self->examids;
	my $members = $self->league->members;
	my @playerids = map { $_->{id} } @$members;
	my %results;

lib/Grades.pm  view on Meta::CPAN


A hash ref of the ids of the players and hashrefs of their results for each exam. Croak if any result is larger than examMax.

=cut

	has 'examResultHash' => (is => 'ro', isa => 'HashRef', lazy_build => 1);
	method _build_examResultHash {
		my $examids = $self->examids;
		my $examResults = $self->examResults;
		my %examResults;
		for my $id ( keys %$examResults ) {

lib/Grades.pm  view on Meta::CPAN


A hashref of the ids of the players and arrays of their results over the exams expressed as percentages of the maximum possible score for the exams.

=cut

	has 'examResultsasPercent' => (is=>'ro', isa=>'HashRef', lazy_build=>1);
	method _build_examResultsasPercent {
		my $scores = $self->examResults;
		my @ids = keys %$scores;
		my $max = $self->examMax;
		my %percent =  map { my $id = $_; my $myscores = $scores->{$id};

lib/Grades.pm  view on Meta::CPAN


A hash ref of the ids of the players and their total scores on exams.

=cut

	has 'examGrade' => (is => 'ro', isa => 'HashRef', lazy_build => 1);
	method _build_examGrade {
		my $grades = $self->examResults;
		+{ map { my $numbers=$grades->{$_};
			$_ => sum(@$numbers) }
					keys %$grades };

lib/Grades.pm  view on Meta::CPAN


A hash ref of the ids of the players and their total score on exams, expressed as a percentage of the possible exam score. This is the average of their exam scores.

=cut

    has 'examPercent' => (is => 'ro', isa => 'HashRef', lazy_build => 1);
    method _build_examPercent {
	my $grades = $self->examResultsasPercent;
	my %totals = map {
		my $numbers=$grades->{$_};
		$_ => sum(@$numbers)/@{$numbers} } keys %$grades;

 view all matches for this distribution


GraphQL

 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


Graphics-Skullplot

 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


HTML-FormHandler-Model-DBIC

 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


HTML-FormHandler

 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


HTML-Untemplate

 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


HTTP-Throwable

 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


Ham-Fldigi

 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


Hash-Layout

 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


( run in 0.427 second using v1.01-cache-2.11-cpan-5f2e87ce722 )