File Coverage

blib/lib/WebService/Mattermost/Helper/Alias.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 1 3 33.3
total 26 28 92.8


line stmt bran cond sub pod time code
1             package WebService::Mattermost::Helper::Alias;
2              
3             # ABSTRACT: Alias helper for shortening package names.
4              
5 10     10   160328 use strict;
  10         35  
  10         289  
6 10     10   46 use warnings;
  10         22  
  10         217  
7              
8 10     10   5723 use Readonly;
  10         35876  
  10         625  
9              
10             require Exporter;
11              
12 10     10   73 use vars qw(@ISA @EXPORT_OK);
  10         36  
  10         1513  
13              
14             @ISA       = 'Exporter';
15             @EXPORT_OK = qw(util v4 view);
16              
17             Readonly::Scalar my $util_base => 'WebService::Mattermost::Util::';
18             Readonly::Scalar my $v4_base => 'WebService::Mattermost::V4::API::Resource::';
19             Readonly::Scalar my $view_base => 'WebService::Mattermost::V4::API::Object::';
20              
21             ################################################################################
22              
23             sub util {
24 19     19 0 2784     my $name = shift;
25              
26 19         354     return sprintf('%s%s', $util_base, $name);
27             }
28              
29             sub v4 {
30 1669     1669 1 5068     my $name = shift;
31              
32 1669         37896     return sprintf('%s%s', $v4_base, $name);
33             }
34              
35             sub view {
36 47     47 0 1490     my $name = shift;
37              
38 47         451     return sprintf('%s%s', $view_base, $name);
39             }
40              
41             ################################################################################
42              
43             1;
44              
45             __END__
46            
47             =pod
48            
49             =encoding UTF-8
50            
51             =head1 NAME
52            
53             WebService::Mattermost::Helper::Alias - Alias helper for shortening package names.
54            
55             =head1 VERSION
56            
57             version 0.26
58            
59             =head1 DESCRIPTION
60            
61             Static helpers used in the library.
62            
63             =head2 METHODS
64            
65             =over 4
66            
67             =item C<v4()>
68            
69             Format the name of an endpoint for the version 4 API.
70            
71             use WebService::Mattermost::Helper::Alias 'v4';
72            
73             print v4 'Teams'; # prints WebService::Mattermost::API::v4::Resource::Teams
74             print util 'UserAgent'; # prints WebService::Mattermost::Util::UserAgent
75            
76             =back
77            
78             =head1 AUTHOR
79            
80             Mike Jones <mike@netsplit.org.uk>
81            
82             =head1 COPYRIGHT AND LICENSE
83            
84             This software is Copyright (c) 2020 by Mike Jones.
85            
86             This is free software, licensed under:
87            
88             The MIT (X11) License
89            
90             =cut
91