File Coverage

blib/lib/Faker/Plugin/EnUs/PersonNameSuffix.pm
Criterion Covered Total %
statement 15 15 100.0
branch 2 2 100.0
condition n/a
subroutine 7 7 100.0
pod 1 3 33.3
total 25 27 92.5


line stmt bran cond sub pod time code
1             package Faker::Plugin::EnUs::PersonNameSuffix;
2              
3 3     3   22508 use 5.018;
  3         14  
4              
5 3     3   16 use strict;
  3         6  
  3         77  
6 3     3   15 use warnings;
  3         14  
  3         118  
7              
8 3     3   19 use Venus::Class 'base';
  3         10  
  3         25  
9              
10             base 'Faker::Plugin::EnUs';
11              
12             # VERSION
13              
14             our $VERSION = '1.17';
15              
16             # METHODS
17              
18             sub execute {
19 8     8 1 1150 my ($self, $data) = @_;
20              
21 8 100       35 return lc($self->faker->person_gender) eq 'male'
22             ? $self->faker->random->select(data_for_name_suffix_male())
23             : $self->faker->random->select(data_for_name_suffix());
24             }
25              
26             sub data_for_name_suffix {
27 4     4 0 38 state $name_suffix = [
28             'MD',
29             'DDS',
30             'PhD',
31             'DVM',
32             ]
33             }
34              
35             sub data_for_name_suffix_male {
36 6     6 0 23 state $name_suffix = [
37             data_for_name_suffix(),
38             'Jr.',
39             'Sr.',
40             'I',
41             'II',
42             'III',
43             'IV',
44             'V',
45             ]
46             }
47              
48             1;
49              
50              
51              
52             =head1 NAME
53              
54             Faker::Plugin::EnUs::PersonNameSuffix - Person Name Suffix
55              
56             =cut
57              
58             =head1 ABSTRACT
59              
60             Person Name Suffix for Faker
61              
62             =cut
63              
64             =head1 VERSION
65              
66             1.17
67              
68             =cut
69              
70             =head1 SYNOPSIS
71              
72             package main;
73              
74             use Faker::Plugin::EnUs::PersonNameSuffix;
75              
76             my $plugin = Faker::Plugin::EnUs::PersonNameSuffix->new;
77              
78             # bless(..., "Faker::Plugin::EnUs::PersonNameSuffix")
79              
80             =cut
81              
82             =head1 DESCRIPTION
83              
84             This package provides methods for generating fake data for person name suffix.
85              
86             =encoding utf8
87              
88             =cut
89              
90             =head1 INHERITS
91              
92             This package inherits behaviors from:
93              
94             L
95              
96             =cut
97              
98             =head1 METHODS
99              
100             This package provides the following methods:
101              
102             =cut
103              
104             =head2 execute
105              
106             execute(HashRef $data) (Str)
107              
108             The execute method returns a returns a random fake person name suffix.
109              
110             I>
111              
112             =over 4
113              
114             =item execute example 1
115              
116             package main;
117              
118             use Faker::Plugin::EnUs::PersonNameSuffix;
119              
120             my $plugin = Faker::Plugin::EnUs::PersonNameSuffix->new;
121              
122             # bless(..., "Faker::Plugin::EnUs::PersonNameSuffix")
123              
124             # my $result = $plugin->execute;
125              
126             # "I";
127              
128             # my $result = $plugin->execute;
129              
130             # "I";
131              
132             # my $result = $plugin->execute;
133              
134             # "II";
135              
136             =back
137              
138             =cut
139              
140             =head2 new
141              
142             new(HashRef $data) (Plugin)
143              
144             The new method returns a new instance of the class.
145              
146             I>
147              
148             =over 4
149              
150             =item new example 1
151              
152             package main;
153              
154             use Faker::Plugin::EnUs::PersonNameSuffix;
155              
156             my $plugin = Faker::Plugin::EnUs::PersonNameSuffix->new;
157              
158             # bless(..., "Faker::Plugin::EnUs::PersonNameSuffix")
159              
160             =back
161              
162             =cut