File Coverage

blib/lib/Nile/Plugin/Object.pm
Criterion Covered Total %
statement 3 12 25.0
branch 0 4 0.0
condition n/a
subroutine 1 2 50.0
pod n/a
total 4 18 22.2


line stmt bran cond sub pod time code
1             # Copyright Infomation
2             #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3             # Author : Dr. Ahmed Amin Elsheshtawy, Ph.D.
4             # Website: https://github.com/mewsoft/Nile, http://www.mewsoft.com
5             # Email : mewsoft@cpan.org, support@mewsoft.com
6             # Copyrights (c) 2014-2015 Mewsoft Corp. All rights reserved.
7             #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8             package Nile::Plugin::Object;
9              
10             our $VERSION = '0.54';
11             our $AUTHORITY = 'cpan:MEWSOFT';
12              
13             =pod
14              
15             =encoding utf8
16              
17             =head1 NAME
18              
19             Nile::Plugin::Object - Plugin base class for the Nile framework.
20              
21             =head1 SYNOPSIS
22            
23             =head1 DESCRIPTION
24              
25             Nile::Plugin::Object - Plugin base class for the Nile framework.
26              
27             =cut
28              
29 1     1   5 use Nile::Base;
  1         2  
  1         7  
30             #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31             sub AUTOLOAD {
32            
33 0     0     my ($self) = shift;
34              
35 0           my ($class, $plugin) = our $AUTOLOAD =~ /^(.*)::(\w+)$/;
36            
37 0 0         return $self->{$plugin} if ($self->{$plugin});
38              
39 0           my $name = "Nile::Plugin::" . ucfirst($plugin);
40            
41 0           eval "use $name";
42            
43 0 0         if ($@) {
44 0           $self->app->abort("Plugin Error: $name. $@");
45             }
46              
47 0           $self->{$plugin} = $self->app->object($name, @_);
48              
49 0           return $self->{$plugin};
50             }
51             #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52              
53             =pod
54              
55             =head1 Bugs
56              
57             This project is available on github at L<https://github.com/mewsoft/Nile>.
58              
59             =head1 HOMEPAGE
60              
61             Please visit the project's homepage at L<https://metacpan.org/release/Nile>.
62              
63             =head1 SOURCE
64              
65             Source repository is at L<https://github.com/mewsoft/Nile>.
66              
67             =head1 SEE ALSO
68              
69             See L<Nile> for details about the complete framework.
70              
71             =head1 AUTHOR
72              
73             Ahmed Amin Elsheshtawy, احمد امين الششتاوى <mewsoft@cpan.org>
74             Website: http://www.mewsoft.com
75              
76             =head1 COPYRIGHT AND LICENSE
77              
78             Copyright (C) 2014-2015 by Dr. Ahmed Amin Elsheshtawy احمد امين الششتاوى mewsoft@cpan.org, support@mewsoft.com,
79             L<https://github.com/mewsoft/Nile>, L<http://www.mewsoft.com>
80              
81             This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
82              
83             =cut
84              
85             1;