Ambrosia

 view release on metacpan or  search on metacpan

benchmark/Ambrosia/Meta.b  view on Meta::CPAN

    use strict;
    use warnings;
    use lib qw(lib t ..);
    use Ambrosia::Event qw/on_run/;

    sub new
    {
        my $proto = shift;
        my $class = ref $proto || $proto;
        my %self = @_;
        return bless \%self, $class;
    };

    sub getState
    {
        return $_[0]->{State};
    }

    1;
}

lib/Ambrosia/Logger.pm  view on Meta::CPAN

package Ambrosia::Logger;
use strict;
use warnings;

use File::Path;
use IO::File;
use Data::Dumper;
use Time::HiRes qw ( time );
use Scalar::Util "blessed";

use Ambrosia::error::Exceptions;

use base qw/Exporter/;
our @EXPORT = qw/logger/;

our $VERSION = 0.010;

our %PROCESS_MAP = ();
our %LOGGERS = ();

lib/Ambrosia/Logger.pm  view on Meta::CPAN

    else
    {
        $self = {
            _log => undef,
            _prefix => ( $params{-prefix} || '' ),
            _op => ( $params{-op} || '' ),
            _dir => $params{-dir},
            _time => {},
        };
        $pkg .= $key;
        bless $self, $pkg;

        no strict 'refs';
        no warnings 'redefine';

        push @{"${pkg}::ISA"}, __PACKAGE__;

        if ( $params{INFO} )
        {
            *{"${pkg}::log_info"} = sub { goto &__info; };
        }

lib/Ambrosia/Logger.pm  view on Meta::CPAN


    foreach ( @keys )
    {
        my $obj = $LOGGERS{$_}->{object};
        $obj->{_log}->close if $obj->{_log} && $obj->{_dir};
    }
}

sub error
{
    __info_ex(shift, 'ERROR: ', map { ref $_ && blessed($_) && $_->isa('Ambrosia::error::Exception::Error') ? "$_" : $_ } @_);
}

sub log
{
    my ($self, @msg) = @_;
    my($sec, $min, $hour) = (localtime)[0..2];
    @msg = ('EMPTY') unless @msg;
    @msg = map { defined $_ ? $_ : 'undef' } @msg;
    __tolog($self, sprintf("%02d:%02d:%02d (op = %s) %s\n", $hour, $min, $sec, $self->{_op}, join (' ', @msg)));
}

lib/Ambrosia/Utils/Container.pm  view on Meta::CPAN

    '*{}' => \&__as_glob,
    '==' => \&__as_bool,
    'bool'=> \&__as_bool,
    '""'  => \&__as_string,
    '0+'  => \&__as_number,
    'fallback' => 1
    ;

sub call(&)
{
    return bless {code => $_[0]}, 'deferred';
}

sub as_hash
{
    return $_[0] if caller eq __PACKAGE__;
    local $@;
    unless ( exists $_[0]->{value} )
    {
        my $h = $_[0]->{code}->();
        if ( ref $h eq 'HASH' )

lib/Ambrosia/View/JSON.pm  view on Meta::CPAN

{
    my $self = shift;

    my $json = JSON::XS->new;
    $json->utf8(0);
    $json->latin1(1);

    my $str = '';
    eval
    {
        $json->convert_blessed(1);
        $str = $self->data ? $json->encode($self->data) : '{}';
warn "$str\n";
    };
    if ( $@ )
    {
        carp "ERROR: $@";
    }

    return $str;
}

lib/Ambrosia/core/Nil.pm  view on Meta::CPAN

our $VERSION = 0.010;

our $AUTOLOAD;

{
    my $SINGLETON;

    sub new
    {
        my $proto = shift;
        return $SINGLETON ||= bless [], ref $proto || $proto;
    }
}

sub sub_nil
{
    my $obj = shift;
    sub { $obj };
}

sub TO_JSON

lib/Ambrosia/core/Object.pm  view on Meta::CPAN

sub new
{
    my $proto = shift;
    my $class = ref($proto) || $proto;

    if ($class->__AMBROSIA_IS_ABSTRACT__)
    {
        throw Ambrosia::error::Exception 'You cannot instance abstract class ' . $class;
    }

    my $self = bless [[]], $class;
    $self->_init(@_);
    return $self;
}

sub fields
{
    return ();
}

### run from new ###

lib/Ambrosia/error/Exception/Error.pm  view on Meta::CPAN

    my $frames = undef;
    foreach ( @msg )
    {
        if ( ref $_ && eval{$_->can('frames')} )
        {
            $frames = $_;
            last;
        }
    }

    my $self = bless
        {
            _error_code => $error_code,
            _message    => (join ' - ', grep { !ref $_ } @msg),
            _frames     => $frames || [],
        }, $class;

    $self->_addFrames() unless defined $frames;

    die $self;
}

t/FooStandart.pm  view on Meta::CPAN

package Foo;
use strict;
use warnings;

sub new {
    my $proto = shift;
    my $class = ref $proto || $proto;
    return bless {}, $class;
}

sub pro_a{my $self=shift; if (my $v = shift) {$self->{pro_a}=$v;} return $self->{pro_a};}
sub pro_b{my $self=shift; if (my $v = shift) {$self->{pro_b}=$v;} return $self->{pro_b};}
sub pro_c{my $self=shift; if (my $v = shift) {$self->{pro_c}=$v;} return $self->{pro_c};}
sub pro_d{my $self=shift; if (my $v = shift) {$self->{pro_d}=$v;} return $self->{pro_d};}
sub pro_e{my $self=shift; if (my $v = shift) {$self->{pro_e}=$v;} return $self->{pro_e};}
sub pro_f{my $self=shift; if (my $v = shift) {$self->{pro_f}=$v;} return $self->{pro_f};}
sub pro_g{my $self=shift; if (my $v = shift) {$self->{pro_g}=$v;} return $self->{pro_g};}
sub pro_h{my $self=shift; if (my $v = shift) {$self->{pro_h}=$v;} return $self->{pro_h};}



( run in 1.461 second using v1.01-cache-2.11-cpan-b32c08c6d1a )