Cmd-Dwarf

 view release on metacpan or  search on metacpan

examples/helloworld/app/lib/Dwarf.pm  view on Meta::CPAN

use Dwarf::Request;
use Dwarf::Response;
use Dwarf::Trigger;
use Dwarf::Util qw/capitalize read_file filename installed load_class dwarf_log/;
use Cwd 'abs_path';
use Data::Dumper;
use File::Basename 'dirname';
use File::Spec::Functions 'catfile';
use Module::Find;
use Router::Simple;
use Scalar::Util qw/weaken/;

our $VERSION = '1.83';

use constant {
	BEFORE_DISPATCH    => 'before_dispatch',
	DISPATCHING        => 'dispatching',
	AFTER_DISPATCH     => 'after_dispatch',
	FINISH_DISPATCHING => 'Dwarf Finish Dispatching Message',
	ERROR              => 'error',
	NOT_FOUND          => 'not_found',

examples/helloworld/app/lib/Dwarf.pm  view on Meta::CPAN

	rw => [qw/stash request_handler_prefix request_handler_method/],
};

sub _build_config {
	my $self = shift;
	$self->{config} ||= do {
		my $class = join '::', $self->namespace, 'Config';
		$class .= '::' . ucfirst $self->config_name if $self->can('config_name');
		load_class($class);
		my $config = $class->new(context => $self);
		weaken($config->{context});
		$config;
	};
}

sub _build_error {
	my $self = shift;
	$self->{error} ||= Dwarf::Error->new;
}

sub _build_request {

examples/helloworld/app/lib/Dwarf.pm  view on Meta::CPAN


	eval {
		eval {
			my $controller = $self->route->{controller};

			return $self->handle_not_found unless $controller;
			Dwarf::Util::load_class($controller);

			$self->{handler_class} = $controller;
			$self->{handler} = $controller->new(context => $self);
			weaken($self->{handler}->{context});

			my $method = $self->find_method;
			return $self->not_found unless $method;

			$self->handler->init($self);
			
			my $body = $self->handler->$method($self, @_);
			$self->body($body);

			$self->handler->did_dispatch($self, $body);

examples/helloworld/app/lib/Dwarf.pm  view on Meta::CPAN

	die "package name must be specified to create module."
		unless defined $package;

	my $prefix = $self->namespace;
	unless ($package =~ m/^$prefix/) {
		$package = $prefix . '::' . $package;
	}

	load_class($package);
	my $module = $package->new(context => $self, @_);
	weaken $module->{context};
	$module->init($self);
	return $module;
}

sub call_before_trigger {
	my $self = shift;
	if ($self->state eq BEFORE_DISPATCH) {
		$self->call_trigger(BEFORE_DISPATCH => $self, $self->request);
		$self->{state} = DISPATCHING;
	}

examples/helloworld/app/lib/Dwarf/Module.pm  view on Meta::CPAN

package Dwarf::Module;
use Dwarf::Pragma;
use Dwarf::Module::DSL;
use Dwarf::Util qw/load_class dwarf_log/;
use Scalar::Util qw/weaken/;

use Dwarf::Accessor {
	ro => [qw/context dsl/],
	rw => [qw/prefix/]
};

sub _build_prefix { shift->context->namespace . '::Model' }

sub _build_dsl {
	my $self = shift;
	my $dsl = Dwarf::Module::DSL->new(
		context => $self->context,
		module  => $self,
	);
	weaken $dsl->{context};
	weaken $dsl->{module};
	return $dsl;
}

sub new {
	my $class = shift;
	my $self = bless { @_ }, $class;
	dwarf_log 'new Module';
	$self->dsl->export_symbols($class);
	return $self;
}

examples/helloworld/app/lib/Dwarf/Module/DSL.pm  view on Meta::CPAN

package Dwarf::Module::DSL;
use Dwarf::Pragma;
use Dwarf::Data::Validator;
use Dwarf::Util qw/load_class dwarf_log/;
use Carp qw/croak/;
use Scalar::Util qw/weaken/;

use Dwarf::Accessor {
	ro => [qw/context module/],
	rw => [qw/prefix/]
};

our @FUNC = qw/
	self app c model m
	conf db error e env log debug
	session param parameters

examples/helloworld/app/lib/Dwarf/Module/DSL.pm  view on Meta::CPAN


	my $prefix = $self->prefix;
	unless ($package =~ m/^$prefix/) {
		$package = $prefix . '::' . $package;
	}

	dwarf_log "create model: $package";

	load_class($package);
	my $model = $package->new(context => $self->context, @_);
	weaken $model->{context};
	$model->init($self->context);
	return $model;
}

sub export_symbols {
	my ($self, $to) = @_;

	no strict 'refs';
	no warnings 'redefine';
	my $super = *{"${to}::ISA"}{ARRAY};

examples/test-validate-json-body/app/lib/Dwarf.pm  view on Meta::CPAN

use Dwarf::Request;
use Dwarf::Response;
use Dwarf::Trigger;
use Dwarf::Util qw/capitalize read_file filename installed load_class dwarf_log/;
use Cwd 'abs_path';
use Data::Dumper;
use File::Basename 'dirname';
use File::Spec::Functions 'catfile';
use Module::Find;
use Router::Simple;
use Scalar::Util qw/weaken/;

our $VERSION = '1.83';

use constant {
	BEFORE_DISPATCH    => 'before_dispatch',
	DISPATCHING        => 'dispatching',
	AFTER_DISPATCH     => 'after_dispatch',
	FINISH_DISPATCHING => 'Dwarf Finish Dispatching Message',
	ERROR              => 'error',
	NOT_FOUND          => 'not_found',

examples/test-validate-json-body/app/lib/Dwarf.pm  view on Meta::CPAN

	rw => [qw/stash request_handler_prefix request_handler_method/],
};

sub _build_config {
	my $self = shift;
	$self->{config} ||= do {
		my $class = join '::', $self->namespace, 'Config';
		$class .= '::' . ucfirst $self->config_name if $self->can('config_name');
		load_class($class);
		my $config = $class->new(context => $self);
		weaken($config->{context});
		$config;
	};
}

sub _build_error {
	my $self = shift;
	$self->{error} ||= Dwarf::Error->new;
}

sub _build_request {

examples/test-validate-json-body/app/lib/Dwarf.pm  view on Meta::CPAN

				unshift @a, $controller if $controller;
				my ($class, $ext) = $self->find_class(join "/", @a);
				$controller = $class if $class;
			}

			return $self->handle_not_found unless $controller;
			Dwarf::Util::load_class($controller);

			$self->{handler_class} = $controller;
			$self->{handler} = $controller->new(context => $self);
			weaken($self->{handler}->{context});

			my $method = $self->find_method;
			return $self->not_found unless $method;

			# プロセス名に処理中のコントローラー名を表示する
			$self->proctitle(sprintf "[Dwarf] %s::%s() (%s)", $controller, lc $self->method, $self->base_dir);

			$self->handler->init($self);
			
			my $body = $self->handler->$method($self, @_);

examples/test-validate-json-body/app/lib/Dwarf.pm  view on Meta::CPAN

	die "package name must be specified to create module."
		unless defined $package;

	my $prefix = $self->namespace;
	unless ($package =~ m/^$prefix/) {
		$package = $prefix . '::' . $package;
	}

	load_class($package);
	my $module = $package->new(context => $self, @_);
	weaken $module->{context};
	$module->init($self);
	return $module;
}

sub proctitle {
	my ($self, $title) = @_;
	$title ||= $0;

	if ($^O eq 'linux' and load_class("Sys::Proctitle")) {
		Sys::Proctitle::setproctitle($title);

examples/test-validate-json-body/app/lib/Dwarf/Module.pm  view on Meta::CPAN

package Dwarf::Module;
use Dwarf::Pragma;
use Dwarf::Module::DSL;
use Dwarf::Util qw/load_class dwarf_log/;
use Scalar::Util qw/weaken/;

use Dwarf::Accessor {
	ro => [qw/context dsl/],
	rw => [qw/prefix/]
};

sub _build_prefix { shift->context->namespace . '::Model' }

sub _build_dsl {
	my $self = shift;
	my $dsl = Dwarf::Module::DSL->new(
		context => $self->context,
		module  => $self,
	);
	weaken $dsl->{context};
	weaken $dsl->{module};
	return $dsl;
}

sub new {
	my $class = shift;
	my $self = bless { @_ }, $class;
	dwarf_log 'new Module';
	$self->dsl->export_symbols($class);
	return $self;
}

examples/test-validate-json-body/app/lib/Dwarf/Module/DSL.pm  view on Meta::CPAN

package Dwarf::Module::DSL;
use Dwarf::Pragma;
use Dwarf::Util qw/load_class dwarf_log/;
use Carp qw/croak/;
use Data::Validator;
use Scalar::Util qw/weaken/;

use Dwarf::Accessor {
	ro => [qw/context module/],
	rw => [qw/prefix/]
};

our @FUNC = qw/
	self app c model m
	conf db error e env log debug
	session param parameters

examples/test-validate-json-body/app/lib/Dwarf/Module/DSL.pm  view on Meta::CPAN


	my $prefix = $self->prefix;
	unless ($package =~ m/^$prefix/) {
		$package = $prefix . '::' . $package;
	}

	dwarf_log "create model: $package";

	load_class($package);
	my $model = $package->new(context => $self->context, @_);
	weaken $model->{context};
	$model->init($self->context);
	return $model;
}

sub export_symbols {
	my ($self, $to) = @_;

	no strict 'refs';
	no warnings 'redefine';
	my $super = *{"${to}::ISA"}{ARRAY};

share/app/lib/Dwarf.pm  view on Meta::CPAN

use Dwarf::Request;
use Dwarf::Response;
use Dwarf::Trigger;
use Dwarf::Util qw/capitalize read_file filename installed load_class dwarf_log/;
use Cwd 'abs_path';
use Data::Dumper;
use File::Basename 'dirname';
use File::Spec::Functions 'catfile';
use Module::Find;
use Router::Simple;
use Scalar::Util qw/weaken/;

our $VERSION = '1.83';

use constant {
	BEFORE_DISPATCH    => 'before_dispatch',
	DISPATCHING        => 'dispatching',
	AFTER_DISPATCH     => 'after_dispatch',
	FINISH_DISPATCHING => 'Dwarf Finish Dispatching Message',
	ERROR              => 'error',
	NOT_FOUND          => 'not_found',

share/app/lib/Dwarf.pm  view on Meta::CPAN

	rw => [qw/stash request_handler_prefix request_handler_method/],
};

sub _build_config {
	my $self = shift;
	$self->{config} ||= do {
		my $class = join '::', $self->namespace, 'Config';
		$class .= '::' . ucfirst $self->config_name if $self->can('config_name');
		load_class($class);
		my $config = $class->new(context => $self);
		weaken($config->{context});
		$config;
	};
}

sub _build_error {
	my $self = shift;
	$self->{error} ||= Dwarf::Error->new;
}

sub _build_request {

share/app/lib/Dwarf.pm  view on Meta::CPAN


	eval {
		eval {
			my $controller = $self->route->{controller};

			return $self->handle_not_found unless $controller;
			Dwarf::Util::load_class($controller);

			$self->{handler_class} = $controller;
			$self->{handler} = $controller->new(context => $self);
			weaken($self->{handler}->{context});

			my $method = $self->find_method;
			return $self->not_found unless $method;

			$self->handler->init($self);
			
			my $body = $self->handler->$method($self, @_);
			$self->body($body);

			$self->handler->did_dispatch($self, $body);

share/app/lib/Dwarf.pm  view on Meta::CPAN

	die "package name must be specified to create module."
		unless defined $package;

	my $prefix = $self->namespace;
	unless ($package =~ m/^$prefix/) {
		$package = $prefix . '::' . $package;
	}

	load_class($package);
	my $module = $package->new(context => $self, @_);
	weaken $module->{context};
	$module->init($self);
	return $module;
}

sub call_before_trigger {
	my $self = shift;
	if ($self->state eq BEFORE_DISPATCH) {
		$self->call_trigger(BEFORE_DISPATCH => $self, $self->request);
		$self->{state} = DISPATCHING;
	}

share/app/lib/Dwarf/Module.pm  view on Meta::CPAN

package Dwarf::Module;
use Dwarf::Pragma;
use Dwarf::Module::DSL;
use Dwarf::Util qw/load_class dwarf_log/;
use Scalar::Util qw/weaken/;

use Dwarf::Accessor {
	ro => [qw/context dsl/],
	rw => [qw/prefix/]
};

sub _build_prefix { shift->context->namespace . '::Model' }

sub _build_dsl {
	my $self = shift;
	my $dsl = Dwarf::Module::DSL->new(
		context => $self->context,
		module  => $self,
	);
	weaken $dsl->{context};
	weaken $dsl->{module};
	return $dsl;
}

sub new {
	my $class = shift;
	my $self = bless { @_ }, $class;
	dwarf_log 'new Module';
	$self->dsl->export_symbols($class);
	return $self;
}

share/app/lib/Dwarf/Module/DSL.pm  view on Meta::CPAN

package Dwarf::Module::DSL;
use Dwarf::Pragma;
use Dwarf::Data::Validator;
use Dwarf::SQLBuilder;
use Dwarf::Util qw/load_class dwarf_log/;
use Carp qw/croak/;
use Scalar::Util qw/weaken/;

use Dwarf::Accessor {
	ro => [qw/context module/],
	rw => [qw/prefix/]
};

our @FUNC = qw/
	self app c model m
	conf db error e env log debug
	session param parameters

share/app/lib/Dwarf/Module/DSL.pm  view on Meta::CPAN


	my $prefix = $self->prefix;
	unless ($package =~ m/^$prefix/) {
		$package = $prefix . '::' . $package;
	}

	dwarf_log "create model: $package";

	load_class($package);
	my $model = $package->new(context => $self->context, @_);
	weaken $model->{context};
	$model->init($self->context);
	return $model;
}

sub export_symbols {
	my ($self, $to) = @_;

	no strict 'refs';
	no warnings 'redefine';
	my $super = *{"${to}::ISA"}{ARRAY};



( run in 0.505 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )