File Coverage

blib/lib/Faker/Plugin/EnUs/PersonNamePrefix.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::PersonNamePrefix;
2              
3 3     3   21874 use 5.018;
  3         13  
4              
5 3     3   18 use strict;
  3         5  
  3         106  
6 3     3   20 use warnings;
  3         6  
  3         101  
7              
8 3     3   14 use Venus::Class 'base';
  3         7  
  3         22  
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 1106 my ($self, $data) = @_;
20              
21 8 100       27 return lc($self->faker->person_gender) eq 'male'
22             ? $self->faker->random->select(data_for_name_prefix_male())
23             : $self->faker->random->select(data_for_name_prefix_female());
24             }
25              
26             sub data_for_name_prefix_male {
27 6     6 0 32 state $name_prefix = [
28             'Mr.',
29             'Sir',
30             ]
31             }
32              
33             sub data_for_name_prefix_female {
34 2     2 0 12 state $name_prefix = [
35             'Miss',
36             'Mrs.',
37             'Ms.',
38             ]
39             }
40              
41             1;
42              
43              
44              
45             =head1 NAME
46              
47             Faker::Plugin::EnUs::PersonNamePrefix - Person Name Prefix
48              
49             =cut
50              
51             =head1 ABSTRACT
52              
53             Person Name Prefix for Faker
54              
55             =cut
56              
57             =head1 VERSION
58              
59             1.17
60              
61             =cut
62              
63             =head1 SYNOPSIS
64              
65             package main;
66              
67             use Faker::Plugin::EnUs::PersonNamePrefix;
68              
69             my $plugin = Faker::Plugin::EnUs::PersonNamePrefix->new;
70              
71             # bless(..., "Faker::Plugin::EnUs::PersonNamePrefix")
72              
73             =cut
74              
75             =head1 DESCRIPTION
76              
77             This package provides methods for generating fake data for person name prefix.
78              
79             =encoding utf8
80              
81             =cut
82              
83             =head1 INHERITS
84              
85             This package inherits behaviors from:
86              
87             L
88              
89             =cut
90              
91             =head1 METHODS
92              
93             This package provides the following methods:
94              
95             =cut
96              
97             =head2 execute
98              
99             execute(HashRef $data) (Str)
100              
101             The execute method returns a returns a random fake person name prefix.
102              
103             I>
104              
105             =over 4
106              
107             =item execute example 1
108              
109             package main;
110              
111             use Faker::Plugin::EnUs::PersonNamePrefix;
112              
113             my $plugin = Faker::Plugin::EnUs::PersonNamePrefix->new;
114              
115             # bless(..., "Faker::Plugin::EnUs::PersonNamePrefix")
116              
117             # my $result = $plugin->execute;
118              
119             # "Mr.";
120              
121             # my $result = $plugin->execute;
122              
123             # "Mr.";
124              
125             # my $result = $plugin->execute;
126              
127             # "Sir";
128              
129             =back
130              
131             =cut
132              
133             =head2 new
134              
135             new(HashRef $data) (Plugin)
136              
137             The new method returns a new instance of the class.
138              
139             I>
140              
141             =over 4
142              
143             =item new example 1
144              
145             package main;
146              
147             use Faker::Plugin::EnUs::PersonNamePrefix;
148              
149             my $plugin = Faker::Plugin::EnUs::PersonNamePrefix->new;
150              
151             # bless(..., "Faker::Plugin::EnUs::PersonNamePrefix")
152              
153             =back
154              
155             =cut