File Coverage: lib/Railsish/Bootstrap.pm

# File Coverage

File: | lib/Railsish/Bootstrap.pm
Coverage: | 76.3%

line | stmt | bran | cond | sub | pod | time | code
--- | --- | --- | --- | --- | --- | --- | ---
1 |  |  |  |  |  |  | package Railsish::Bootstrap;
2 |  |  |  |  |  |  | # ABSTRACT: Wuu huu huu
3 |
4 | 2 2 2 |  |  | 2 |  | 17 7 19 | use strict;
5 | 2 2 2 |  |  | 2 |  | 20 5 16 | use warnings;
6 | 2 2 2 |  |  | 2 |  | 83 6 24 | use Railsish::CoreHelpers;
7 | 2 2 2 |  |  | 2 |  | 21 6 51 | use File::Spec::Functions;
8 | 2 2 2 |  |  | 2 |  | 101 7 29 | use Railsish::Router;
9 |
10 |  |  |  |  |  |  | sub import {
11 | 2 6 |  |  | 2 |  | 10 29 | my @dir = map { catdir(app_root, "app", $_ ) } qw(controllers helpers models);
12 | 2 |  |  |  |  | 44 | unshift @INC, @dir;
13 |  |  |  |  |  |  | }
14 |
15 |  |  |  |  |  |  | sub load_configs {
16 | 1 |  |  | 1 | 0 | 9 | my $routes = app_root(config => "routes.pl");
17 | 1 | 50 |  |  |  | 506 | require $routes or die "Failed to load $routes";
18 |  |  |  |  |  |  | }
19 |
20 | 2 2 2 |  |  | 2 |  | 160 10 28 | use Module::Loaded;
21 | 2 2 2 |  |  | 2 |  | 154 9 24 | use Class::Implant;
22 |  |  |  |  |  |  | sub load_controllers {
23 | 1 |  |  | 1 | 0 | 7 | my $app_root = app_root;
24 | 1 |  |  |  |  | 17 | my @controllers = glob("\Q${app_root}\E/app/controllers/*.pm");
25 | 1 |  |  |  |  | 519 | for(@controllers) {
26 | 3 | 50 |  |  |  | 250 | require $_ or die "Failed to load $_\n";
27 | 3 |  |  |  |  | 40 | my $helper = $_ =~ s/Controller/Helpers/;
28 | 3 | 50 |  |  |  | 20 | if ( is_loaded($helper) ) {
29 | 0 |  |  |  |  |  | implant $helper, { into => $_ };
30 |  |  |  |  |  |  | }
31 |  |  |  |  |  |  | }
32 |  |  |  |  |  |  | }
33 |
34 |  |  |  |  |  |  | sub load_helpers {
35 | 0 |  |  | 0 | 0 |  | my $app_root = app_root;
36 | 0 |  |  |  |  |  | my @helpers = glob("\Q${app_root}\E/app_root/helpers/*.pm");
37 | 0 |  |  |  |  |  | for (@helpers) {
38 | 0 | 0 |  |  |  |  | require $_ or die "Failed to load $_, $!\n";
39 |  |  |  |  |  |  | }
40 |  |  |  |  |  |  | }
41 |
42 |  |  |  |  |  |  | 1;
43 |
44 - 48 |  |
    =head1 DESCRIPTION

    This class reads application configurations.

    =cut
49 |