File Coverage

lib/XUL/App/Schema.pm
Criterion Covered Total %
statement 30 49 61.2
branch 0 4 0.0
condition n/a
subroutine 10 15 66.6
pod 0 5 0.0
total 40 73 54.7


line stmt bran cond sub pod time code
1             package XUL::App::Schema;
2              
3 1     1   1284 use strict;
  1         2  
  1         38  
4 1     1   6 use warnings;
  1         2  
  1         28  
5             #use Smart::Comments;
6 1     1   5 use XUL::App::XULFile;
  1         1  
  1         7  
7 1     1   21 use XUL::App::JSFile;
  1         2  
  1         6  
8 1     1   20 use XUL::App::XPIFile;
  1         2  
  1         5  
9 1     1   19 use XUL::App;
  1         2  
  1         144  
10              
11             use Object::Declare (
12             mapping => {
13 0         0 xulfile => sub { XUL::App::XULFile->new({@_}) },
14 0         0 jsfile => sub { XUL::App::JSFile->new({@_}) },
15 0         0 xpifile => sub { XUL::App::XPIFile->new({@_}) },
16             },
17 1         22 aliases => {
18             generated => 'generated_from',
19             requires => 'prereqs',
20             includes => 'prereqs',
21             },
22             copula => {
23             is => '',
24             are => '',
25             from => '',
26             #overlays => '',
27             #targets => 'targets',
28             #requires => '',
29             },
30 1     1   994 );
  1         2415  
31              
32 1     1   118 use base 'Exporter';
  1         1  
  1         250  
33             our @EXPORT = qw(
34             schema xulfile jsfile xpifile
35             overlays includes requires targets
36             );
37              
38 0     0 0   sub overlays ($) { overlays is @_; }
39             sub includes (@) {
40 0 0   0 0   if (@_ == 1) {
41 0           includes is $_[0];
42             } else {
43 0           includes are @_;
44             }
45             }
46              
47             sub requires (@) {
48 0 0   0 0   if (@_ == 1) {
49 0           requires is $_[0];
50             } else {
51 0           requires are @_;
52             }
53             }
54              
55 0     0 0   sub targets ($) { targets are @_; }
56              
57             sub schema (&) {
58 0     0 0   my $code = shift;
59 0           my $from = caller;
60              
61 1     1   5 no warnings 'redefine';
  1         2  
  1         60  
62 0           my @params = &declare($code);
63             #### @params
64 0           XUL::App->FILES({@params});
65 0           my $files = XUL::App->FILES();
66             ### files: $files
67 1     1   4 no strict 'refs';
  1         2  
  1         66  
68 0           push @{$from . '::ISA'}, 'XUL::App';
  0            
69 0           return ();
70             }
71              
72             1;
73