ffaker 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changelog.md +32 -21
- data/README.md +16 -16
- data/REFERENCE.md +925 -646
- data/ffaker.gemspec +73 -5
- data/lib/ffaker.rb +1 -1
- data/lib/ffaker/address.rb +4 -0
- data/lib/ffaker/address_ch.rb +21 -0
- data/lib/ffaker/address_ch_de.rb +16 -0
- data/lib/ffaker/address_ch_fr.rb +16 -0
- data/lib/ffaker/address_ch_it.rb +16 -0
- data/lib/ffaker/address_da.rb +2 -4
- data/lib/ffaker/address_in.rb +56 -0
- data/lib/ffaker/address_ru.rb +39 -0
- data/lib/ffaker/address_ua.rb +58 -0
- data/lib/ffaker/avatar.rb +3 -5
- data/lib/ffaker/cheesy_lingo.rb +39 -0
- data/lib/ffaker/color_ua.rb +12 -0
- data/lib/ffaker/data/address/time_zone +128 -0
- data/lib/ffaker/data/address_ch/canton_abbr +26 -0
- data/lib/ffaker/data/address_chde/canton +26 -0
- data/lib/ffaker/data/address_chfr/canton +26 -0
- data/lib/ffaker/data/address_chit/canton +26 -0
- data/lib/ffaker/data/address_da/city +3 -3
- data/lib/ffaker/data/address_da/kommune +0 -4
- data/lib/ffaker/data/address_in/state +29 -0
- data/lib/ffaker/data/address_in/state_abbr +29 -0
- data/lib/ffaker/data/address_in/union_territory +7 -0
- data/lib/ffaker/data/address_in/union_territory_abbr +7 -0
- data/lib/ffaker/data/address_ru/city +74 -0
- data/lib/ffaker/data/address_ru/province +83 -0
- data/lib/ffaker/data/address_ru/street +49 -0
- data/lib/ffaker/data/address_ua/city +57 -0
- data/lib/ffaker/data/address_ua/country +193 -0
- data/lib/ffaker/data/address_ua/province +27 -0
- data/lib/ffaker/data/address_ua/street +13 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_phrases +54 -0
- data/lib/ffaker/data/cheesy_lingo/cheesy_words +34 -0
- data/lib/ffaker/data/color_ua/names_list +114 -0
- data/lib/ffaker/data/lorem_ua/capital_chars +33 -0
- data/lib/ffaker/data/lorem_ua/chars +33 -0
- data/lib/ffaker/data/lorem_ua/words +362 -0
- data/lib/ffaker/data/music/albums +91 -0
- data/lib/ffaker/data/music/artists +100 -0
- data/lib/ffaker/data/music/genres +20 -0
- data/lib/ffaker/data/music/songs +100 -0
- data/lib/ffaker/data/name_da/female_first_names +291 -480
- data/lib/ffaker/data/name_da/male_first_names +294 -383
- data/lib/ffaker/data/name_ua/first_names_female +193 -0
- data/lib/ffaker/data/name_ua/first_names_male +195 -0
- data/lib/ffaker/data/name_ua/last_names_female +230 -0
- data/lib/ffaker/data/name_ua/last_names_male +239 -0
- data/lib/ffaker/data/name_ua/middle_names_female +116 -0
- data/lib/ffaker/data/name_ua/middle_names_male +116 -0
- data/lib/ffaker/data/vehicle/displacements_list +21 -0
- data/lib/ffaker/data/vehicle/fuel_types_list +6 -0
- data/lib/ffaker/data/vehicle/transmissions_list +4 -0
- data/lib/ffaker/data/vehicle/upholstery_list +5 -0
- data/lib/ffaker/internet.rb +20 -20
- data/lib/ffaker/lorem_ua.rb +59 -0
- data/lib/ffaker/music.rb +24 -0
- data/lib/ffaker/name_da.rb +17 -28
- data/lib/ffaker/name_ja.rb +2 -4
- data/lib/ffaker/name_ua.rb +59 -0
- data/lib/ffaker/phone_number.rb +4 -1
- data/lib/ffaker/phone_number_br.rb +74 -0
- data/lib/ffaker/phone_number_ch.rb +46 -0
- data/lib/ffaker/phone_number_da.rb +3 -3
- data/lib/ffaker/string.rb +14 -6
- data/lib/ffaker/vehicle.rb +26 -0
- data/test/test_address.rb +4 -0
- data/test/test_address_ch.rb +13 -0
- data/test/test_address_ch_de.rb +9 -0
- data/test/test_address_ch_fr.rb +9 -0
- data/test/test_address_ch_it.rb +11 -0
- data/test/test_address_da.rb +10 -10
- data/test/test_address_in.rb +50 -0
- data/test/test_address_ru.rb +30 -0
- data/test/test_address_ua.rb +49 -0
- data/test/test_avatar.rb +7 -6
- data/test/test_cheesy_lingo.rb +37 -0
- data/test/test_color_ua.rb +9 -0
- data/test/test_internet.rb +11 -3
- data/test/test_lorem_ua.rb +45 -0
- data/test/test_music.rb +21 -0
- data/test/test_name_br.rb +1 -1
- data/test/test_name_da.rb +48 -0
- data/test/test_name_ja.rb +32 -1
- data/test/test_name_ua.rb +59 -0
- data/test/test_phone_number.rb +8 -3
- data/test/test_phone_number_br.rb +47 -0
- data/test/test_phone_number_da.rb +39 -0
- data/test/test_string.rb +6 -0
- data/test/test_time.rb +2 -2
- data/test/test_vehicle.rb +24 -0
- data/test/test_venue.rb +1 -1
- metadata +86 -5
data/lib/ffaker/internet.rb
CHANGED
|
@@ -5,20 +5,21 @@ module FFaker
|
|
|
5
5
|
extend ModuleUtils
|
|
6
6
|
extend self
|
|
7
7
|
|
|
8
|
-
BYTE = [*
|
|
8
|
+
BYTE = [*"0".."255"]
|
|
9
9
|
HOSTS = %w(gmail.com yahoo.com hotmail.com)
|
|
10
10
|
DISPOSABLE_HOSTS = %w(mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info)
|
|
11
11
|
DOMAIN_SUFFIXES = %w(co.uk com us ca biz info name)
|
|
12
|
+
SAFE_DOMAIN_SUFFIXES = %w[org com net]
|
|
12
13
|
SLUG_DELIMITERS = %w[- _ .]
|
|
13
14
|
|
|
14
15
|
def email(name = nil)
|
|
15
|
-
[
|
|
16
|
+
[user_name(name), domain_name].join("@")
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
# returns an email address of an online disposable email service (like tempinbox.com).
|
|
19
20
|
# you can really send an email to these addresses an access it by going to the service web pages.
|
|
20
21
|
def disposable_email(name = nil)
|
|
21
|
-
[
|
|
22
|
+
[user_name(name), DISPOSABLE_HOSTS.sample].join("@")
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
def free_email(name = nil)
|
|
@@ -26,7 +27,7 @@ module FFaker
|
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def safe_email(name = nil)
|
|
29
|
-
|
|
30
|
+
"#{user_name(name)}@example.#{SAFE_DOMAIN_SUFFIXES.sample}"
|
|
30
31
|
end
|
|
31
32
|
|
|
32
33
|
def user_name(name = nil)
|
|
@@ -36,11 +37,11 @@ module FFaker
|
|
|
36
37
|
else
|
|
37
38
|
case rand(2)
|
|
38
39
|
when 0
|
|
39
|
-
Name.first_name
|
|
40
|
+
sanitize(Name.first_name)
|
|
40
41
|
when 1
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
[Name.first_name, Name.last_name].
|
|
43
|
+
map { |n| sanitize(n) }.
|
|
44
|
+
join(%w(. _).sample)
|
|
44
45
|
end
|
|
45
46
|
end
|
|
46
47
|
end
|
|
@@ -50,8 +51,8 @@ module FFaker
|
|
|
50
51
|
end
|
|
51
52
|
|
|
52
53
|
def domain_word
|
|
53
|
-
dw = Company.name.split(
|
|
54
|
-
dw.gsub!(/\W/,
|
|
54
|
+
dw = Company.name.split(" ").first
|
|
55
|
+
dw.gsub!(/\W/, "")
|
|
55
56
|
dw.downcase!
|
|
56
57
|
dw
|
|
57
58
|
end
|
|
@@ -73,22 +74,21 @@ module FFaker
|
|
|
73
74
|
end
|
|
74
75
|
|
|
75
76
|
def slug(words = nil, glue = nil)
|
|
77
|
+
words ||= Lorem.words(2).join(" ")
|
|
76
78
|
glue ||= SLUG_DELIMITERS.sample
|
|
77
|
-
|
|
78
|
-
(words || FFaker::Lorem::words(2).join(glue)).downcase
|
|
79
|
+
words.downcase.gsub(/[^a-z0-9]+/, glue)
|
|
79
80
|
end
|
|
80
81
|
|
|
81
82
|
def password(min_length = 8, max_length = 16)
|
|
82
|
-
|
|
83
|
+
length =
|
|
84
|
+
min_length > max_length ? min_length : [*min_length..max_length].sample
|
|
85
|
+
String.from_regexp(/[a-z]{#{length}}/)
|
|
86
|
+
end
|
|
83
87
|
|
|
84
|
-
|
|
85
|
-
temp += Lorem.word
|
|
86
|
-
end
|
|
87
|
-
if max_length >= min_length && temp.length > max_length
|
|
88
|
-
temp = temp.slice(0, max_length)
|
|
89
|
-
end
|
|
88
|
+
private
|
|
90
89
|
|
|
91
|
-
|
|
90
|
+
def sanitize(string)
|
|
91
|
+
string.gsub(/\W/, "").downcase
|
|
92
92
|
end
|
|
93
93
|
end
|
|
94
94
|
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module LoremUA
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
def word
|
|
9
|
+
WORDS.sample
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def words(num = 3)
|
|
13
|
+
WORDS.sample(num)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def sentence(word_count = 7)
|
|
17
|
+
elements = words(word_count + rand(10))
|
|
18
|
+
if elements.count > 10
|
|
19
|
+
elements.insert(rand(3..(elements.count - 3)), ',')
|
|
20
|
+
end
|
|
21
|
+
result = elements.join(' ').gsub(' , ', ', ')
|
|
22
|
+
capitalize_ukrainian("#{result}#{sentence_type_mark}")
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
alias_method :phrase, :sentence
|
|
26
|
+
|
|
27
|
+
def sentences(sentence_count = 3)
|
|
28
|
+
(1..sentence_count).map { sentence }
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
alias_method :phrases, :sentences
|
|
32
|
+
|
|
33
|
+
def paragraph(sentence_count = 5)
|
|
34
|
+
sentences(sentence_count + rand(3)).join(' ')
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def paragraphs(paragraph_count = 3)
|
|
38
|
+
(1..paragraph_count).map { paragraph }
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def sentence_type_mark
|
|
44
|
+
case rand(10)
|
|
45
|
+
when 0..7 then "."
|
|
46
|
+
when 8 then "!"
|
|
47
|
+
when 9 then "?"
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def capitalize_ukrainian(string)
|
|
52
|
+
unless CAPITAL_CHARS.include?(string[0])
|
|
53
|
+
string[0] = CAPITAL_CHARS[CHARS.index(string[0])]
|
|
54
|
+
end
|
|
55
|
+
string
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
data/lib/ffaker/music.rb
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
module Music
|
|
5
|
+
extend ModuleUtils
|
|
6
|
+
extend self
|
|
7
|
+
|
|
8
|
+
def genre
|
|
9
|
+
GENRES.sample
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def album
|
|
13
|
+
ALBUMS.sample
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def artist
|
|
17
|
+
ARTISTS.sample
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def song
|
|
21
|
+
SONGS.sample
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/lib/ffaker/name_da.rb
CHANGED
|
@@ -11,49 +11,29 @@ module FFaker
|
|
|
11
11
|
|
|
12
12
|
PREFIXES = %w(Hr. Fr. Dr. Prof.)
|
|
13
13
|
|
|
14
|
-
def name
|
|
15
|
-
|
|
16
|
-
when :any then any_name
|
|
17
|
-
when :male then male_name
|
|
18
|
-
when :female then female_name
|
|
19
|
-
else
|
|
20
|
-
raise ArgumentError, "Invalid gender, must be one of :any, :male, :female"
|
|
21
|
-
end
|
|
14
|
+
def name(gender = :any)
|
|
15
|
+
generate_name(first_name(gender))
|
|
22
16
|
end
|
|
23
17
|
|
|
24
18
|
def any_name
|
|
25
|
-
|
|
26
|
-
when 0 then "#{prefix} #{first_name} #{last_name}"
|
|
27
|
-
when 1..2 then "#{first_name} #{last_name} #{last_name}"
|
|
28
|
-
else "#{first_name} #{last_name}"
|
|
29
|
-
end
|
|
19
|
+
name(:any)
|
|
30
20
|
end
|
|
31
21
|
|
|
32
22
|
def male_name
|
|
33
|
-
|
|
34
|
-
case rand(8)
|
|
35
|
-
when 0 then "#{prefix} #{fname} #{last_name}"
|
|
36
|
-
when 1..2 then "#{fname} #{last_name} #{last_name}"
|
|
37
|
-
else "#{fname} #{last_name}"
|
|
38
|
-
end
|
|
23
|
+
name(:male)
|
|
39
24
|
end
|
|
40
25
|
|
|
41
26
|
def female_name
|
|
42
|
-
|
|
43
|
-
case rand(8)
|
|
44
|
-
when 0 then "#{prefix} #{fname} #{last_name}"
|
|
45
|
-
when 1..2 then "#{fname} #{last_name} #{last_name}"
|
|
46
|
-
else "#{fname} #{last_name}"
|
|
47
|
-
end
|
|
27
|
+
name(:female)
|
|
48
28
|
end
|
|
49
29
|
|
|
50
|
-
def first_name
|
|
30
|
+
def first_name(gender = :any)
|
|
51
31
|
case gender
|
|
52
|
-
when :any then (rand(2) == 0) ?
|
|
32
|
+
when :any then (rand(2) == 0) ? first_name(:male) : first_name(:female)
|
|
53
33
|
when :male then MALE_FIRST_NAMES.sample
|
|
54
34
|
when :female then FEMALE_FIRST_NAMES.sample
|
|
55
35
|
else
|
|
56
|
-
|
|
36
|
+
fail ArgumentError, 'Invalid gender, must be one of :any, :male, :female'
|
|
57
37
|
end
|
|
58
38
|
end
|
|
59
39
|
|
|
@@ -65,5 +45,14 @@ module FFaker
|
|
|
65
45
|
PREFIXES.sample
|
|
66
46
|
end
|
|
67
47
|
|
|
48
|
+
private
|
|
49
|
+
|
|
50
|
+
def generate_name(first_name)
|
|
51
|
+
case rand(8)
|
|
52
|
+
when 0 then "#{prefix} #{first_name} #{last_name}"
|
|
53
|
+
when 1..2 then "#{first_name} #{last_name} #{last_name}"
|
|
54
|
+
else "#{first_name} #{last_name}"
|
|
55
|
+
end
|
|
56
|
+
end
|
|
68
57
|
end
|
|
69
58
|
end
|
data/lib/ffaker/name_ja.rb
CHANGED
|
@@ -5,10 +5,6 @@ module FFaker
|
|
|
5
5
|
extend ModuleUtils
|
|
6
6
|
extend self
|
|
7
7
|
|
|
8
|
-
def name
|
|
9
|
-
"#{first_name}#{last_name}"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
8
|
def first_name
|
|
13
9
|
FIRST_NAMES.sample
|
|
14
10
|
end
|
|
@@ -20,5 +16,7 @@ module FFaker
|
|
|
20
16
|
def last_first
|
|
21
17
|
"#{last_name}#{first_name}"
|
|
22
18
|
end
|
|
19
|
+
|
|
20
|
+
alias_method :name, :last_first
|
|
23
21
|
end
|
|
24
22
|
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'ffaker/name'
|
|
4
|
+
|
|
5
|
+
module FFaker
|
|
6
|
+
module NameUA
|
|
7
|
+
extend ModuleUtils
|
|
8
|
+
extend self
|
|
9
|
+
|
|
10
|
+
FIRST_NAMES = FIRST_NAMES_MALE + FIRST_NAMES_FEMALE
|
|
11
|
+
LAST_NAMES = LAST_NAMES_MALE + LAST_NAMES_FEMALE
|
|
12
|
+
MIDDLE_NAMES = MIDDLE_NAMES_MALE + MIDDLE_NAMES_FEMALE
|
|
13
|
+
|
|
14
|
+
def first_name_female
|
|
15
|
+
FIRST_NAMES_FEMALE.sample
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def first_name_male
|
|
19
|
+
FIRST_NAMES_MALE.sample
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def middle_name_female
|
|
23
|
+
MIDDLE_NAMES_FEMALE.sample
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def middle_name_male
|
|
27
|
+
MIDDLE_NAMES_MALE.sample
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def last_name_female
|
|
31
|
+
LAST_NAMES_FEMALE.sample
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def last_name_male
|
|
35
|
+
LAST_NAMES_MALE.sample
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def first_name
|
|
39
|
+
FIRST_NAMES.sample
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def last_name
|
|
43
|
+
LAST_NAMES.sample
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def name
|
|
47
|
+
case rand(8)
|
|
48
|
+
when 0 then first_name_male
|
|
49
|
+
when 1 then first_name_female
|
|
50
|
+
when 2 then "#{first_name_male} #{middle_name_male}"
|
|
51
|
+
when 3 then "#{first_name_female} #{middle_name_male}"
|
|
52
|
+
when 4 then "#{last_name_male} #{first_name_male}"
|
|
53
|
+
when 5 then "#{last_name_female} #{first_name_female}"
|
|
54
|
+
when 6 then "#{last_name_male} #{first_name_male} #{middle_name_male}"
|
|
55
|
+
when 7 then "#{last_name_female} #{first_name_female} #{middle_name_female}"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
data/lib/ffaker/phone_number.rb
CHANGED
|
@@ -30,7 +30,10 @@ module FFaker
|
|
|
30
30
|
# The North American Numbering Plan (NANP) does not permit the digits 0
|
|
31
31
|
# and 1 as the leading digit of an area code.
|
|
32
32
|
# https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes
|
|
33
|
-
|
|
33
|
+
loop do
|
|
34
|
+
rand_area_code = rand(201..999)
|
|
35
|
+
return rand_area_code unless rand_area_code % 100 == 11
|
|
36
|
+
end
|
|
34
37
|
end
|
|
35
38
|
|
|
36
39
|
def short_phone_number
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module FFaker
|
|
4
|
+
# Author: Gustavo Souza https://github.com/gustavor-souza
|
|
5
|
+
# Source https://en.wikipedia.org/wiki/Telephone_numbers_in_Brazil
|
|
6
|
+
#
|
|
7
|
+
module PhoneNumberBR
|
|
8
|
+
extend ModuleUtils
|
|
9
|
+
extend self
|
|
10
|
+
|
|
11
|
+
COUNTRY_PREFIX = '+55'
|
|
12
|
+
AREA_CODE = %w[1# 2# 3# 4# 5# 6# 7# 8# 9#]
|
|
13
|
+
HOME_WORK_PHONE_PREFIX = %w[2 3 4 5]
|
|
14
|
+
MOBILE_PHONE_PREFIX = %w[6 7 8 9 96 97 98 99]
|
|
15
|
+
PHONE_NUMBER = %w[####### ###-####]
|
|
16
|
+
|
|
17
|
+
# generate a random phone number
|
|
18
|
+
#
|
|
19
|
+
def phone_number
|
|
20
|
+
case rand(2)
|
|
21
|
+
when 0 then home_work_phone_number
|
|
22
|
+
when 1 then mobile_phone_number
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def home_work_phone_number
|
|
27
|
+
number HOME_WORK_PHONE_PREFIX
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def mobile_phone_number
|
|
31
|
+
number MOBILE_PHONE_PREFIX
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# pick a random phone number with the international prefix code
|
|
35
|
+
#
|
|
36
|
+
def international_phone_number
|
|
37
|
+
case rand(2)
|
|
38
|
+
when 0 then international_mobile_phone_number
|
|
39
|
+
when 1 then international_home_work_phone_number
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def international_mobile_phone_number
|
|
44
|
+
number MOBILE_PHONE_PREFIX, COUNTRY_PREFIX
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def international_home_work_phone_number
|
|
48
|
+
number HOME_WORK_PHONE_PREFIX, COUNTRY_PREFIX
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def country_code
|
|
52
|
+
COUNTRY_PREFIX
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
def number(prefixes, country_prefix = '')
|
|
57
|
+
space = random_space
|
|
58
|
+
p = [
|
|
59
|
+
country_prefix,
|
|
60
|
+
space,
|
|
61
|
+
AREA_CODE.sample,
|
|
62
|
+
space,
|
|
63
|
+
prefixes.sample,
|
|
64
|
+
PHONE_NUMBER.sample
|
|
65
|
+
].join('').strip
|
|
66
|
+
|
|
67
|
+
FFaker.numerify p
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def random_space
|
|
71
|
+
rand(2) == 1 ? ' ' : ''
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|