App-revealup

 view release on metacpan or  search on metacpan

lib/App/revealup/base.pm  view on Meta::CPAN

    my $caller = caller(0);
    no strict 'refs';
    *{"${caller}::has"} = sub { attr($caller, @_) };
    *{"${caller}::new"} = sub {
        my ($klass, %opt) = @_;
        for my $key (keys %opt) {
            attr($caller, $key, $opt{$key}) if $opt{$key};
        }
        return bless \%opt, $klass;
    };
    strict->import;
    warnings->import;
}

sub attr {
    my ( $caller, $k, $v ) = @_;
    no strict 'refs';
    return if defined *{"${caller}::$k"};
    *{"${caller}::$k"} = sub {
        my ( $self, $value ) = @_;
        if ( !$value ) {



( run in 0.248 second using v1.01-cache-2.11-cpan-299005ec8e3 )