File Coverage

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


line stmt bran cond sub pod time code
1             package Faker::Plugin::JaJp;
2              
3 40     40   43132 use 5.018;
  40         146  
4              
5 40     40   223 use strict;
  40         128  
  40         1001  
6 40     40   251 use warnings;
  40         82  
  40         1416  
7              
8 40     40   262 use Venus::Class 'base';
  40         120  
  40         299  
9              
10             base 'Faker::Plugin';
11              
12             # VERSION
13              
14             our $VERSION = '1.17';
15              
16             # MODIFIERS
17              
18             sub new {
19 325     325 1 1925501 my ($self, @args) = @_;
20              
21 325         1410 $self = $self->SUPER::new(@args);
22              
23 325         632782 require Faker;
24              
25 325         1483 my $caches = $self->faker->caches;
26              
27 325         696939 $self->faker(Faker->new('ja-jp'));
28              
29 325 50       153294 $self->faker->caches($caches) if $caches->count;
30              
31 325         8631 return $self;
32             }
33              
34             1;
35              
36              
37              
38             =head1 NAME
39              
40             Faker::Plugin::JaJp - Ja-Jp Plugin Superclass
41              
42             =cut
43              
44             =head1 ABSTRACT
45              
46             Fake Data Plugin Superclass (Ja-Jp)
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::JaJp;
61              
62             my $plugin = Faker::Plugin::JaJp->new;
63              
64             # bless(..., "Faker::Plugin::JaJp")
65              
66             # my $result = $plugin->execute;
67              
68             # ""
69              
70             =cut
71              
72             =head1 DESCRIPTION
73              
74             This package provides a superclass for ja-jp 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::JaJp;
109              
110             my $plugin = Faker::Plugin::JaJp->new;
111              
112             # bless(..., "Faker::Plugin::JaJp")
113              
114             =back
115              
116             =over 4
117              
118             =item new example 2
119              
120             package main;
121              
122             use Faker::Plugin::JaJp;
123              
124             my $plugin = Faker::Plugin::JaJp->new({faker => 'ru-ru'});
125              
126             # bless(..., "Faker::Plugin::JaJp")
127              
128             =back
129              
130             =over 4
131              
132             =item new example 3
133              
134             package main;
135              
136             use Faker::Plugin::JaJp;
137              
138             my $plugin = Faker::Plugin::JaJp->new({faker => ['ru-ru', 'sk-sk']});
139              
140             # bless(..., "Faker::Plugin::JaJp")
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::JaJp::UserHandle;
161              
162             use base 'Faker::Plugin::JaJp';
163              
164             sub execute {
165             my ($self) = @_;
166              
167             return $self->process('@?{{person_last_name_ascii}}####');
168             }
169              
170             package main;
171              
172             use Faker;
173              
174             my $faker = Faker->new('ja-jp');
175              
176             # bless(..., "Faker")
177              
178             my $result = $faker->user_handle;
179              
180             # "\@qkudo7078"
181              
182             =back