move from Eventful repo to its own
[gitmo/MooseX-Runnable.git] / lib / MooseX / Runnable / Run.pm
1 package MooseX::Runnable::Run;
2 use strict;
3 use warnings;
4
5 use Class::MOP;
6
7 use Sub::Exporter -setup => {
8     exports => ['run_as_application'],
9     groups  => {
10         default => ['run_as_application'],
11     },
12 };
13
14 sub run_as_application($;@){
15     my ($app, @args) = @_;
16
17     eval 'package main; use FindBin qw($Bin); use lib "$Bin/../lib"; 1;' or die;
18
19     Class::MOP::load_class($app);
20     die "$app is not runnable" unless $app->does('MooseX::Runnable');
21     $app->run_as_application(@args);
22 }
23
24 1;