File Coverage

blib/lib/Faker/Plugin/EnUs.pm
Criterion Covered Total %
statement 18 18 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 26 26 100.0


line stmt bran cond sub pod time code
1             package Faker::Plugin::EnUs;
2              
3 43     43   44233 use 5.018;
  43         177  
4              
5 43     43   272 use strict;
  43         87  
  43         1005  
6 43     43   238 use warnings;
  43         94  
  43         1370  
7              
8 43     43   286 use Venus::Class 'base';
  43         145  
  43         355  
9              
10             base 'Faker::Plugin';
11              
12             # VERSION
13              
14             our $VERSION = '1.17';
15              
16             # MODIFIERS
17              
18             sub new {
19 643     643 1 1847381 my ($self, @args) = @_;
20              
21 643         2559 $self = $self->SUPER::new(@args);
22              
23 643         701225 require Faker;
24              
25 643         2697 my $caches = $self->faker->caches;
26              
27 643         837706 $self->faker(Faker->new('en-us'));
28              
29 643 100       292887 $self->faker->caches($caches) if $caches->count;
30              
31 643         20314 return $self;
32             }
33              
34             1;
35              
36              
37              
38             =head1 NAME
39              
40             Faker::Plugin::EnUs - En-Us Plugin Superclass
41              
42             =cut
43              
44             =head1 ABSTRACT
45              
46             Fake Data Plugin Superclass (En-Us)
47              
48             =cut
49              
50             =head1 VERSION
51              
52             1.17
53              
54             =cut
55              
56             =head1 SYNOPSIS
57              
58             package main;
59              
60             use Faker::Plugin::EnUs;
61              
62             my $plugin = Faker::Plugin::EnUs->new;
63              
64             # bless(..., "Faker::Plugin::EnUs")
65              
66             # my $result = $plugin->execute;
67              
68             # ""
69              
70             =cut
71              
72             =head1 DESCRIPTION
73              
74             This package provides a superclass for en-us based plugins.
75              
76             =encoding utf8
77              
78             =cut
79              
80             =head1 INHERITS
81              
82             This package inherits behaviors from:
83              
84             L
85              
86             =cut
87              
88             =head1 METHODS
89              
90             This package provides the following methods:
91              
92             =cut
93              
94             =head2 new
95              
96             new(HashRef $data) (Plugin)
97              
98             The new method returns a new instance of the class.
99              
100             I>
101              
102             =over 4
103              
104             =item new example 1
105              
106             package main;
107              
108             use Faker::Plugin::EnUs;
109              
110             my $plugin = Faker::Plugin::EnUs->new;
111              
112             # bless(..., "Faker::Plugin::EnUs")
113              
114             =back
115              
116             =over 4
117              
118             =item new example 2
119              
120             package main;
121              
122             use Faker::Plugin::EnUs;
123              
124             my $plugin = Faker::Plugin::EnUs->new({faker => 'ru-ru'});
125              
126             # bless(..., "Faker::Plugin::EnUs")
127              
128             =back
129              
130             =over 4
131              
132             =item new example 3
133              
134             package main;
135              
136             use Faker::Plugin::EnUs;
137              
138             my $plugin = Faker::Plugin::EnUs->new({faker => ['ru-ru', 'sk-sk']});
139              
140             # bless(..., "Faker::Plugin::EnUs")
141              
142             =back
143              
144             =cut
145              
146             =head1 FEATURES
147              
148             This package provides the following features:
149              
150             =cut
151              
152             =over 4
153              
154             =item subclass-feature
155              
156             This package is meant to be subclassed.
157              
158             B
159              
160             package Faker::Plugin::EnUs::UserHandle;
161              
162             use base 'Faker::Plugin::EnUs';
163              
164             sub execute {
165             my ($self) = @_;
166              
167             return $self->process('@?{{person_last_name}}####');
168             }
169              
170             package main;
171              
172             use Faker;
173              
174             my $faker = Faker->new('en-us');
175              
176             # bless(..., "Faker")
177              
178             my $result = $faker->user_handle;
179              
180             # "\@jWolf2469"
181              
182             =back