Banal-Moosy-Mungers
view release on metacpan or search on metacpan
lib/Banal/Moosy/Mungers.pm view on Meta::CPAN
#######################################
mhs_specs( is => 'ro', init_arg => undef, lazy => 1, @_ );
}
#######################################
sub mhs_specs { # Define meta specs for attributes (is, isa, lazy, ...)
#######################################
# ATTENTION : Special calling convention and interface defined by MooseX::MungeHas.
my $name = $_; # $_ contains the attribute NAME
%_ = (@_, %_); # %_ contains the attribute SPECS, whereas @_ contains defaults (prefs) for those specs.
wantarray ? (%_) : +{%_}
}
#######################################
sub mhs_dict { &mhs_dictionary }
sub mhs_dictionary {
# - Lookup meta specs for attributes from a given (src) dictonary;
# * Parameters destined to this routine (dict, src/src_dict, dest/dest_dict) will be removed from the context.
# * Remaining parameters will win over the values looked up from the src dictionnary.
# * Current munge context (%_) wins over all of the above
lib/Banal/Moosy/Mungers/DeviseFallbacks.pm view on Meta::CPAN
use namespace::autoclean;
use Exporter::Shiny qw( mhs_fallbacks );
#######################################
sub mhs_fallbacks { # Munge attr specs so that the attribute may use a 'fallback' routine for its 'default' sub.
#######################################
# ATTENTION : Special calling convention and interface defined by MooseX::MungeHas.
my $name = $_; # $_ contains the attribute NAME
%_ = (@_, %_); # %_ contains the attribute SPECS, whereas @_ contains defaults (prefs) for those specs.
# say STDERR 'Fallback munger : about to start munging : ...';
# Initial determination of some key properties involving fallback setup.
my $fbo_detected = exists $_{fallback};
my %fbo = %{ delete( $_{fallback} ) // +{} };
my $disabled = delete( $_{no_fallback} ) // peek(\%fbo, [qw(disable disabled)], 0) // 0;
# Grok some properties (either directly from the 'has' parameters (%_), or from the 'fallback' hash (%fbo)
my %mappings = (
lib/Banal/Moosy/Mungers/DeviseFallbacks.pm view on Meta::CPAN
alias => [qw(aka alias aliases) ],
#Actual fallback routines or values
apriori => [qw(apriori primo) ],
mid => [qw(mid nrm normally) ],
final => [qw(def last fin final finally) ],
via => [qw(via) ],
# Fallback source specifiers
author_specific => [ map {; ($_, 'lookup_' . $_ ) } qw(author author_specific author_prefs author_specific_prefs author_defaults author_settings) ],
# Special handling
no_implicit => [qw(no_implicit) ],
blanker_token => [qw(blanker blankers blanker_token blanker_tokens ) ],
implicit_suffix => [qw(implicit_suffix implicit_suffixes implicit_suffices implicit_sfx ) ],
# wants
multivalue => [qw(multivalue) ],
# Processing to be done on the result
( run in 3.533 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )