ffakerer 1.0.1
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 +15 -0
- data/Changelog.md +154 -0
- data/Gemfile +2 -0
- data/LICENSE +22 -0
- data/README.md +88 -0
- data/Rakefile +138 -0
- data/ffakerer.gemspec +266 -0
- data/lib/ffakerer.rb +31 -0
- data/lib/ffakerer/address.rb +99 -0
- data/lib/ffakerer/address_au.rb +106 -0
- data/lib/ffakerer/address_ca.rb +28 -0
- data/lib/ffakerer/address_da.rb +56 -0
- data/lib/ffakerer/address_de.rb +42 -0
- data/lib/ffakerer/address_mx.rb +505 -0
- data/lib/ffakerer/address_se.rb +48 -0
- data/lib/ffakerer/address_sn.rb +25 -0
- data/lib/ffakerer/address_uk.rb +27 -0
- data/lib/ffakerer/address_us.rb +30 -0
- data/lib/ffakerer/bacon_ipsum.rb +21 -0
- data/lib/ffakerer/company.rb +45 -0
- data/lib/ffakerer/company_se.rb +24 -0
- data/lib/ffakerer/conference.rb +12 -0
- data/lib/ffakerer/data/address/city_suffixes +19 -0
- data/lib/ffakerer/data/address/country +242 -0
- data/lib/ffakerer/data/address/neighborhood +49 -0
- data/lib/ffakerer/data/address/street_suffix +195 -0
- data/lib/ffakerer/data/address_ca/province +13 -0
- data/lib/ffakerer/data/address_da/city +592 -0
- data/lib/ffakerer/data/address_da/kommune +92 -0
- data/lib/ffakerer/data/address_da/street +657 -0
- data/lib/ffakerer/data/address_de/city +1666 -0
- data/lib/ffakerer/data/address_de/state +15 -0
- data/lib/ffakerer/data/address_mx/state +32 -0
- data/lib/ffakerer/data/address_mx/state_abbr +32 -0
- data/lib/ffakerer/data/address_se/city +154 -0
- data/lib/ffakerer/data/address_se/countries +250 -0
- data/lib/ffakerer/data/address_se/street +2887 -0
- data/lib/ffakerer/data/address_sn/arrondissements +47 -0
- data/lib/ffakerer/data/address_sn/departements +43 -0
- data/lib/ffakerer/data/address_sn/regions +14 -0
- data/lib/ffakerer/data/address_uk/uk_county +70 -0
- data/lib/ffakerer/data/address_us/state +50 -0
- data/lib/ffakerer/data/address_us/state_abbr +51 -0
- data/lib/ffakerer/data/address_us/state_and_territories_abbr +62 -0
- data/lib/ffakerer/data/bacon_ipsum/bacon_words +60 -0
- data/lib/ffakerer/data/company/bs_mid +65 -0
- data/lib/ffakerer/data/company/bs_pos +44 -0
- data/lib/ffakerer/data/company/bs_pre +60 -0
- data/lib/ffakerer/data/company/catch_mid +101 -0
- data/lib/ffakerer/data/company/catch_pos +104 -0
- data/lib/ffakerer/data/company/catch_pre +100 -0
- data/lib/ffakerer/data/company/position_areas +11 -0
- data/lib/ffakerer/data/conference/conference_list +40 -0
- data/lib/ffakerer/data/dizzle_ipsum/dizzle_words +69 -0
- data/lib/ffakerer/data/education/major_noun +13 -0
- data/lib/ffakerer/data/education/school_suffix +13 -0
- data/lib/ffakerer/data/healthcare_ipsum/healthcare_words +193 -0
- data/lib/ffakerer/data/hipster_ipsum/hipster_words +101 -0
- data/lib/ffakerer/data/job/job_adj +37 -0
- data/lib/ffakerer/data/job/job_noun +25 -0
- data/lib/ffakerer/data/job/job_prefix +22 -0
- data/lib/ffakerer/data/job_fr/job_nouns +14 -0
- data/lib/ffakerer/data/job_fr/job_prefixes +15 -0
- data/lib/ffakerer/data/lorem/characters +36 -0
- data/lib/ffakerer/data/lorem/words +249 -0
- data/lib/ffakerer/data/lorem_ar/words +911 -0
- data/lib/ffakerer/data/lorem_cn/words +706 -0
- data/lib/ffakerer/data/lorem_fr/words +10379 -0
- data/lib/ffakerer/data/movie/adj_and_adv +20 -0
- data/lib/ffakerer/data/movie/nouns +36 -0
- data/lib/ffakerer/data/movie/prefixes +17 -0
- data/lib/ffakerer/data/name/first_names +3008 -0
- data/lib/ffakerer/data/name/last_names +475 -0
- data/lib/ffakerer/data/name_cn/first_names +1000 -0
- data/lib/ffakerer/data/name_cn/last_names +1057 -0
- data/lib/ffakerer/data/name_cs/prefixes +16 -0
- data/lib/ffakerer/data/name_da/female_first_names +492 -0
- data/lib/ffakerer/data/name_da/last_names +187 -0
- data/lib/ffakerer/data/name_da/male_first_names +390 -0
- data/lib/ffakerer/data/name_de/first_names +1166 -0
- data/lib/ffakerer/data/name_de/last_names +100 -0
- data/lib/ffakerer/data/name_fr/first_names +220 -0
- data/lib/ffakerer/data/name_fr/last_names +408 -0
- data/lib/ffakerer/data/name_ga/first_names_female +225 -0
- data/lib/ffakerer/data/name_ga/first_names_male +306 -0
- data/lib/ffakerer/data/name_ja/first_names +397 -0
- data/lib/ffakerer/data/name_ja/last_names +1078 -0
- data/lib/ffakerer/data/name_kr/first_names +1317 -0
- data/lib/ffakerer/data/name_kr/last_names +197 -0
- data/lib/ffakerer/data/name_mx/female_first_names +216 -0
- data/lib/ffakerer/data/name_mx/last_names +352 -0
- data/lib/ffakerer/data/name_mx/male_first_names +211 -0
- data/lib/ffakerer/data/name_ph/autochthonous_surnames +217 -0
- data/lib/ffakerer/data/name_ph/spanish_surnames +300 -0
- data/lib/ffakerer/data/name_se/first_names_female +110 -0
- data/lib/ffakerer/data/name_se/first_names_male +110 -0
- data/lib/ffakerer/data/name_se/last_names +100 -0
- data/lib/ffakerer/data/name_sn/first_names_female +225 -0
- data/lib/ffakerer/data/name_sn/first_names_male +304 -0
- data/lib/ffakerer/data/name_sn/last_names +243 -0
- data/lib/ffakerer/data/name_vn/first_names +6 -0
- data/lib/ffakerer/data/name_vn/last_names +67 -0
- data/lib/ffakerer/data/name_vn/middle_names +89 -0
- data/lib/ffakerer/data/phone_number_se/phone_prefix +265 -0
- data/lib/ffakerer/data/product/adj +19 -0
- data/lib/ffakerer/data/product/b1 +19 -0
- data/lib/ffakerer/data/product/noun +16 -0
- data/lib/ffakerer/data/skill/specialty_end +14 -0
- data/lib/ffakerer/data/skill/specialty_start +18 -0
- data/lib/ffakerer/data/skill/tech_skills +52 -0
- data/lib/ffakerer/data/venue/venue_list +33 -0
- data/lib/ffakerer/dizzle_ipsum.rb +21 -0
- data/lib/ffakerer/education.rb +48 -0
- data/lib/ffakerer/geolocation.rb +50 -0
- data/lib/ffakerer/healthcare_ipsum.rb +20 -0
- data/lib/ffakerer/hipster_ipsum.rb +21 -0
- data/lib/ffakerer/html_ipsum.rb +160 -0
- data/lib/ffakerer/identification.rb +27 -0
- data/lib/ffakerer/identification_es.rb +15 -0
- data/lib/ffakerer/identification_es_cl.rb +26 -0
- data/lib/ffakerer/identification_es_co.rb +40 -0
- data/lib/ffakerer/internet.rb +72 -0
- data/lib/ffakerer/internet_se.rb +106 -0
- data/lib/ffakerer/job.rb +12 -0
- data/lib/ffakerer/job_fr.rb +14 -0
- data/lib/ffakerer/lorem.rb +44 -0
- data/lib/ffakerer/lorem_ar.rb +40 -0
- data/lib/ffakerer/lorem_cn.rb +41 -0
- data/lib/ffakerer/lorem_fr.rb +39 -0
- data/lib/ffakerer/movie.rb +63 -0
- data/lib/ffakerer/name.rb +35 -0
- data/lib/ffakerer/name_cn.rb +24 -0
- data/lib/ffakerer/name_cs.rb +90 -0
- data/lib/ffakerer/name_da.rb +68 -0
- data/lib/ffakerer/name_de.rb +33 -0
- data/lib/ffakerer/name_fr.rb +37 -0
- data/lib/ffakerer/name_ga.rb +47 -0
- data/lib/ffakerer/name_ja.rb +24 -0
- data/lib/ffakerer/name_kr.rb +24 -0
- data/lib/ffakerer/name_mx.rb +103 -0
- data/lib/ffakerer/name_ph.rb +29 -0
- data/lib/ffakerer/name_ru.rb +92 -0
- data/lib/ffakerer/name_se.rb +47 -0
- data/lib/ffakerer/name_sn.rb +65 -0
- data/lib/ffakerer/name_vn.rb +28 -0
- data/lib/ffakerer/phone_number.rb +34 -0
- data/lib/ffakerer/phone_number_au.rb +77 -0
- data/lib/ffakerer/phone_number_da.rb +45 -0
- data/lib/ffakerer/phone_number_de.rb +51 -0
- data/lib/ffakerer/phone_number_mx.rb +58 -0
- data/lib/ffakerer/phone_number_se.rb +90 -0
- data/lib/ffakerer/phone_number_sg.rb +81 -0
- data/lib/ffakerer/phone_number_sn.rb +78 -0
- data/lib/ffakerer/product.rb +45 -0
- data/lib/ffakerer/skill.rb +24 -0
- data/lib/ffakerer/ssn.rb +17 -0
- data/lib/ffakerer/ssn_se.rb +109 -0
- data/lib/ffakerer/string.rb +92 -0
- data/lib/ffakerer/time.rb +30 -0
- data/lib/ffakerer/unit.rb +50 -0
- data/lib/ffakerer/unit_english.rb +114 -0
- data/lib/ffakerer/unit_metric.rb +105 -0
- data/lib/ffakerer/utils/array_utils.rb +44 -0
- data/lib/ffakerer/utils/module_utils.rb +29 -0
- data/lib/ffakerer/venue.rb +12 -0
- data/scripts/benchmark.rb +21 -0
- data/scripts/profile.sh +2 -0
- data/scripts/profiling.rb +7 -0
- data/test/helper.rb +2 -0
- data/test/test_address.rb +73 -0
- data/test/test_address_au.rb +58 -0
- data/test/test_address_ca.rb +17 -0
- data/test/test_address_de.rb +25 -0
- data/test/test_address_mx.rb +26 -0
- data/test/test_address_se.rb +36 -0
- data/test/test_address_sn.rb +25 -0
- data/test/test_address_uk.rb +17 -0
- data/test/test_address_us.rb +25 -0
- data/test/test_array_utils.rb +52 -0
- data/test/test_bacon_ipsum.rb +30 -0
- data/test/test_company.rb +23 -0
- data/test/test_company_se.rb +14 -0
- data/test/test_conference.rb +10 -0
- data/test/test_dizzle_ipsum.rb +30 -0
- data/test/test_education.rb +34 -0
- data/test/test_faker.rb +30 -0
- data/test/test_faker_internet.rb +60 -0
- data/test/test_faker_internet_se.rb +67 -0
- data/test/test_faker_job.rb +14 -0
- data/test/test_faker_job_fr.rb +22 -0
- data/test/test_faker_name.rb +21 -0
- data/test/test_faker_name_cn.rb +13 -0
- data/test/test_faker_name_cs.rb +65 -0
- data/test/test_faker_name_de.rb +21 -0
- data/test/test_faker_name_fr.rb +48 -0
- data/test/test_faker_name_ga.rb +56 -0
- data/test/test_faker_name_ja.rb +13 -0
- data/test/test_faker_name_kr.rb +13 -0
- data/test/test_faker_name_mx.rb +180 -0
- data/test/test_faker_name_ph.rb +17 -0
- data/test/test_faker_name_ru.rb +80 -0
- data/test/test_faker_name_se.rb +38 -0
- data/test/test_faker_name_sn.rb +98 -0
- data/test/test_geolocation.rb +34 -0
- data/test/test_healthcare_ipsum.rb +27 -0
- data/test/test_hipster_ipsum.rb +29 -0
- data/test/test_html_ipsum.rb +91 -0
- data/test/test_identification.rb +27 -0
- data/test/test_identification_co.rb +38 -0
- data/test/test_identification_es.rb +13 -0
- data/test/test_identification_es_cl.rb +13 -0
- data/test/test_lorem.rb +44 -0
- data/test/test_lorem_ar.rb +37 -0
- data/test/test_lorem_cn.rb +47 -0
- data/test/test_lorem_fr.rb +37 -0
- data/test/test_module_utils.rb +14 -0
- data/test/test_movie.rb +9 -0
- data/test/test_phone_number.rb +13 -0
- data/test/test_phone_number_au.rb +50 -0
- data/test/test_phone_number_de.rb +46 -0
- data/test/test_phone_number_mx.rb +43 -0
- data/test/test_phone_number_se.rb +60 -0
- data/test/test_phone_number_sg.rb +44 -0
- data/test/test_phone_number_sn.rb +34 -0
- data/test/test_skill.rb +24 -0
- data/test/test_ssn.rb +11 -0
- data/test/test_ssn_se.rb +43 -0
- data/test/test_string.rb +71 -0
- data/test/test_time.rb +19 -0
- data/test/test_units.rb +32 -0
- data/test/test_units_english.rb +62 -0
- data/test/test_units_metric.rb +61 -0
- data/test/test_venue.rb +9 -0
- metadata +372 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Author: wiseleyb<wiseleyb@gmail.com>
|
|
5
|
+
# Based on information from http://en.wikipedia.org/wiki/Telephone_numbers_in_Australia
|
|
6
|
+
module PhoneNumberAU
|
|
7
|
+
extend ModuleUtils
|
|
8
|
+
extend self
|
|
9
|
+
|
|
10
|
+
# Mobile prefixes
|
|
11
|
+
MobileOperatorsPrefix = %w(04)
|
|
12
|
+
|
|
13
|
+
# Home or Work Operator prefixes
|
|
14
|
+
HomeWorkOperatorsPrefix = %w(02 03 05 07 08)
|
|
15
|
+
|
|
16
|
+
OperatorsPrefix = MobileOperatorsPrefix + HomeWorkOperatorsPrefix
|
|
17
|
+
|
|
18
|
+
# Return a prefix in MobileOperatorsPrefix
|
|
19
|
+
# @see Faker::PhoneNumberAU::MobileOperatorsPrefix
|
|
20
|
+
#
|
|
21
|
+
def mobile_phone_prefix
|
|
22
|
+
MobileOperatorsPrefix[rand(MobileOperatorsPrefix.size)]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Return a prefix in HomeWorkOperatorsPrefix
|
|
26
|
+
# @see Faker::PhoneNumberAU::HomeWorkOperatorsPrefix
|
|
27
|
+
#
|
|
28
|
+
def home_work_phone_prefix
|
|
29
|
+
HomeWorkOperatorsPrefix[rand(HomeWorkOperatorsPrefix.size)]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def phone_prefix
|
|
33
|
+
OperatorsPrefix[rand(OperatorsPrefix.size)]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Generates a general phone number
|
|
37
|
+
# (0x) xxxx xxxx
|
|
38
|
+
#
|
|
39
|
+
def home_work_phone_number
|
|
40
|
+
Faker.numerify("(#{home_work_phone_prefix}) #### ####")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Generates a mobile phone number
|
|
44
|
+
# 04xx xxx xxx
|
|
45
|
+
#
|
|
46
|
+
def mobile_phone_number
|
|
47
|
+
Faker.numerify("#{mobile_phone_prefix}## ### ###")
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# generates mobile or home/work number
|
|
51
|
+
def phone_number
|
|
52
|
+
case rand(2)
|
|
53
|
+
when 0 then home_work_phone_number
|
|
54
|
+
when 1 then mobile_phone_number
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def country_code
|
|
59
|
+
"+61"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def international_mobile_phone_number
|
|
63
|
+
Faker.numerify("#{country_code} #{mobile_phone_prefix[1]} #### ####")
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def international_home_work_phone_number
|
|
67
|
+
Faker.numerify("#{country_code} #{home_work_phone_prefix[1]} #### ####")
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def international_phone_number
|
|
71
|
+
case rand(2)
|
|
72
|
+
when 0 then international_mobile_phone_number
|
|
73
|
+
when 1 then international_home_work_phone_number
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Author: wiseleyb<wiseleyb@gmail.com>
|
|
5
|
+
# Based on information from http://en.wikipedia.org/wiki/Telephone_numbers_in_Australia
|
|
6
|
+
module PhoneNumberDA
|
|
7
|
+
extend ModuleUtils
|
|
8
|
+
extend self
|
|
9
|
+
|
|
10
|
+
# Generates a general phone number
|
|
11
|
+
# xxxxxxxx
|
|
12
|
+
#
|
|
13
|
+
def home_work_phone_number
|
|
14
|
+
phone_number
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Generates a mobile phone number
|
|
18
|
+
# xxxxxxxxx
|
|
19
|
+
#
|
|
20
|
+
def mobile_phone_number
|
|
21
|
+
phone_number
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# generates mobile or home/work number
|
|
25
|
+
def phone_number
|
|
26
|
+
Faker.numerify("########")
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def country_code
|
|
30
|
+
"+45"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def international_mobile_phone_number
|
|
34
|
+
international_phone_number
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def international_home_work_phone_number
|
|
38
|
+
international_phone_number
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def international_phone_number
|
|
42
|
+
Faker.numerify("#{country_code} #{phone_number}")
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Author: lawitschka<moritz.lawitschka@urbanvention.com>
|
|
5
|
+
module PhoneNumberDE
|
|
6
|
+
extend ModuleUtils
|
|
7
|
+
extend self
|
|
8
|
+
|
|
9
|
+
# Mobile prefixes are in the 015x, 016x, 017x ranges
|
|
10
|
+
def mobile_prefix(leading_zero = true)
|
|
11
|
+
mobile_prefix = '1' + (rand(3) + 5).to_s + rand(10).to_s
|
|
12
|
+
mobile_prefix = '0' + mobile_prefix if leading_zero
|
|
13
|
+
mobile_prefix
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Region prefixes are in range 02..09 with length of 3 to 5 digits
|
|
17
|
+
def region_prefix(leading_zero = true)
|
|
18
|
+
region_prefix = (rand(8) + 2).to_s + Faker.numerify( '#' * (rand(3) + 1) ).to_s
|
|
19
|
+
region_prefix = '0' + region_prefix if leading_zero
|
|
20
|
+
region_prefix
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def phone_number
|
|
24
|
+
home_work_phone_number
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def mobile_phone_number(leading_zero = true)
|
|
28
|
+
[mobile_prefix(leading_zero), Faker.numerify('#######')].join(' ')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def home_work_phone_number(leading_zero = true)
|
|
32
|
+
[region_prefix(leading_zero), Faker.numerify('#######')].join(' ')
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def country_code
|
|
36
|
+
'+49'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def international_mobile_phone_number
|
|
40
|
+
[country_code, mobile_phone_number(false)].join(' ')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def international_home_work_phone_number
|
|
44
|
+
[country_code, home_work_phone_number(false)].join(' ')
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def international_phone_number
|
|
48
|
+
international_home_work_phone_number
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Author: guapolo github.com/guapolo
|
|
5
|
+
module PhoneNumberMX
|
|
6
|
+
extend ModuleUtils
|
|
7
|
+
extend self
|
|
8
|
+
|
|
9
|
+
# Generates a general phone number
|
|
10
|
+
# xx xxxx xxxx
|
|
11
|
+
#
|
|
12
|
+
def home_work_phone_number
|
|
13
|
+
Faker.numerify("## #### ####")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Generates a mobile phone number
|
|
17
|
+
# 044 xx xxxx xxxx
|
|
18
|
+
#
|
|
19
|
+
def mobile_phone_number
|
|
20
|
+
Faker.numerify("044 ## #### ####")
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# generates mobile or home/work number
|
|
24
|
+
def phone_number
|
|
25
|
+
case rand(2)
|
|
26
|
+
when 0 then home_work_phone_number
|
|
27
|
+
when 1 then mobile_phone_number
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def country_code
|
|
32
|
+
"+52"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def international_mobile_phone_number
|
|
36
|
+
Faker.numerify("#{country_code} 1 ## #### ####")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def international_home_work_phone_number
|
|
40
|
+
Faker.numerify("#{country_code} ## #### ####")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def international_phone_number
|
|
44
|
+
case rand(2)
|
|
45
|
+
when 0 then international_mobile_phone_number
|
|
46
|
+
when 1 then international_home_work_phone_number
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Generates a toll-free number
|
|
51
|
+
# 01 800 xxx xxxx
|
|
52
|
+
#
|
|
53
|
+
def toll_free_number
|
|
54
|
+
Faker.numerify("01 800 ### ####")
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
|
|
5
|
+
# Format for swedish numbers, from here
|
|
6
|
+
# from http://sv.wikipedia.org/wiki/Telefonnummer
|
|
7
|
+
#
|
|
8
|
+
# All area codes are from this list
|
|
9
|
+
# http://sv.wikipedia.org/wiki/Lista_%C3%B6ver_svenska_riktnummer
|
|
10
|
+
#
|
|
11
|
+
# - Length 9
|
|
12
|
+
# 08-xxx xxx xx, 0xx-xxx xx xx, 0xxx-xx xx xx
|
|
13
|
+
# - Length 8
|
|
14
|
+
# 08-xxx xx xx, 0xx-xx xx xx, 0xxx-xxx xx
|
|
15
|
+
# - Length 7
|
|
16
|
+
# 08-xx xx xx, 0xx-xxx xx
|
|
17
|
+
#
|
|
18
|
+
module PhoneNumberSE
|
|
19
|
+
extend ModuleUtils
|
|
20
|
+
extend self
|
|
21
|
+
|
|
22
|
+
def phone_number
|
|
23
|
+
case rand(2)
|
|
24
|
+
when 0 then home_work_phone_number
|
|
25
|
+
when 1 then mobile_phone_number
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def home_work_phone_number
|
|
30
|
+
Faker.numerify("0#{phone_number_format}")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def mobile_phone_number
|
|
34
|
+
Faker.numerify("0#{mobile_phone_number_format}")
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def international_phone_number
|
|
38
|
+
case rand(2)
|
|
39
|
+
when 0 then international_mobile_phone_number
|
|
40
|
+
when 1 then international_home_work_phone_number
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def country_prefix
|
|
45
|
+
COUNTRY_PREFIX.rand
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def international_mobile_phone_number
|
|
49
|
+
Faker.numerify("#{country_prefix} (0)#{mobile_phone_number_format}")
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def international_home_work_phone_number
|
|
53
|
+
Faker.numerify("#{country_prefix} (0)#{phone_number_format}")
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def area_prefix
|
|
57
|
+
PHONE_PREFIX.rand
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def phone_number_format
|
|
61
|
+
prefix = area_prefix
|
|
62
|
+
case prefix.length
|
|
63
|
+
when 1 then PHONE_FORMAT_PREFIX_2.rand
|
|
64
|
+
when 2 then PHONE_FORMAT_PREFIX_3.rand
|
|
65
|
+
when 3 then PHONE_FORMAT_PREFIX_4.rand
|
|
66
|
+
end % prefix
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def mobile_prefix
|
|
70
|
+
MOBILE_PHONE_PREFIX.rand
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def mobile_phone_number_format
|
|
74
|
+
MOBILE_PHONE_FORMAT.rand % mobile_prefix
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
PHONE_FORMAT_PREFIX_2 = k ["%s-### ### ##",
|
|
78
|
+
"%s-### ## ##",
|
|
79
|
+
"%s-## ## ##"]
|
|
80
|
+
PHONE_FORMAT_PREFIX_3 = k ["%s-### ## ##",
|
|
81
|
+
"%s-## ## ##",
|
|
82
|
+
"%s-## ###"]
|
|
83
|
+
PHONE_FORMAT_PREFIX_4 = k ["%s-## ## ##",
|
|
84
|
+
"%s-### ##"]
|
|
85
|
+
|
|
86
|
+
MOBILE_PHONE_FORMAT = k ["%s#-## ## ##", "%s#-######"]
|
|
87
|
+
COUNTRY_PREFIX = k ["+46", "0046"]
|
|
88
|
+
MOBILE_PHONE_PREFIX = k %w(70 72 73 76 74)
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Based on information from http://en.wikipedia.org/wiki/Telephone_numbers_in_Singapore
|
|
5
|
+
module PhoneNumberSG
|
|
6
|
+
extend ModuleUtils
|
|
7
|
+
extend self
|
|
8
|
+
|
|
9
|
+
# Number Ranges
|
|
10
|
+
# 3xxx xxxx - Voice Over IP services
|
|
11
|
+
# 6xxx xxxx - Fixed Line services inclusive of Fixed Line Voice Over IP services
|
|
12
|
+
# like StarHub Digital Voice and SingTel mio Voice
|
|
13
|
+
# 8xxx xxxx - Mobile phone services
|
|
14
|
+
# 9xxx xxxx - Mobile phone services Includes Paging Services like SUNPAGE
|
|
15
|
+
# 800 xxx xxxx - Toll-Free International services
|
|
16
|
+
# 1800 xxx xxxx - Toll-Free line services
|
|
17
|
+
# 1900 xxx xxxx - Premium Service
|
|
18
|
+
|
|
19
|
+
# Generates a voip phone number
|
|
20
|
+
# 3xxx xxxx
|
|
21
|
+
#
|
|
22
|
+
def voip_number
|
|
23
|
+
Faker.numerify("3### ####")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Generates a fixed line phone number
|
|
27
|
+
# 6xxx xxxx
|
|
28
|
+
#
|
|
29
|
+
def fixed_line_number
|
|
30
|
+
Faker.numerify("6### ####")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Generates a fixed mobile phone number
|
|
34
|
+
# 8xxx xxxx
|
|
35
|
+
#
|
|
36
|
+
def mobile_number
|
|
37
|
+
Faker.numerify("8### ####")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Generates a fixed mobile phone number or pager service number
|
|
41
|
+
# 9xxx xxxx
|
|
42
|
+
#
|
|
43
|
+
def mobile_or_pager_number
|
|
44
|
+
Faker.numerify("9### ####")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Generates an international toll-free number
|
|
48
|
+
# 800 xxx xxxx
|
|
49
|
+
#
|
|
50
|
+
def international_toll_free_number
|
|
51
|
+
Faker.numerify("800 ### ####")
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Generates an toll-free number
|
|
55
|
+
# 1800 xxx xxxx
|
|
56
|
+
#
|
|
57
|
+
def toll_free_number
|
|
58
|
+
Faker.numerify("1800 ### ####")
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Generates a premium service number
|
|
62
|
+
# (1900) xxx xxxx
|
|
63
|
+
#
|
|
64
|
+
def premium_service_number
|
|
65
|
+
Faker.numerify("1900 ### ####")
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# generates mobile or home/work number
|
|
69
|
+
def phone_number
|
|
70
|
+
case rand(3)
|
|
71
|
+
when 0 then fixed_line_number
|
|
72
|
+
when 1 then mobile_number
|
|
73
|
+
when 2 then mobile_or_pager_number
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def country_code
|
|
78
|
+
"+65"
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
# Author: PapePathe<pathe.sene@xarala.sn> http://www.xarala.sn
|
|
5
|
+
module PhoneNumberSN
|
|
6
|
+
extend ModuleUtils
|
|
7
|
+
extend self
|
|
8
|
+
|
|
9
|
+
# Mobile Operator prefixes
|
|
10
|
+
#
|
|
11
|
+
# 77 => Orange
|
|
12
|
+
# 76 => Tigo
|
|
13
|
+
# 70 => Expresso
|
|
14
|
+
#
|
|
15
|
+
MobileOperatorsPrefix = %w(70 76 77)
|
|
16
|
+
|
|
17
|
+
# Home or Work Operator prefixes
|
|
18
|
+
#
|
|
19
|
+
# 33 => Orange
|
|
20
|
+
#
|
|
21
|
+
HomeWorkOperatorsPrefix = %w(33)
|
|
22
|
+
|
|
23
|
+
# Return a prefix in MobileOperatorsPrefix
|
|
24
|
+
# @see Faker::PhoneNumberSN::MobileOperatorsPrefix
|
|
25
|
+
#
|
|
26
|
+
def mobile_phone_prefix
|
|
27
|
+
MobileOperatorsPrefix[rand(3)]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Return a prefix in HomeWorkOperatorsPrefix
|
|
31
|
+
# @see Faker::PhoneNumberSN::HomeWorkOperatorsPrefix
|
|
32
|
+
#
|
|
33
|
+
def homework_phone_prefix
|
|
34
|
+
HomeWorkOperatorsPrefix[0]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Pattern that can be combined with a prefix to generate mobile, office phone_numbers
|
|
38
|
+
# Example 745 77 99
|
|
39
|
+
# Example 245 07 00
|
|
40
|
+
# Example 726 29 05
|
|
41
|
+
#
|
|
42
|
+
def short_phone_number
|
|
43
|
+
Faker.numerify('###-##-##')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Generates a mobile phone number
|
|
47
|
+
# Example 70 745 77 99
|
|
48
|
+
# Example 76 245 07 00
|
|
49
|
+
# Example 77 726 29 05
|
|
50
|
+
#
|
|
51
|
+
def mobile_number
|
|
52
|
+
"#{mobile_phone_prefix}-#{short_phone_number}"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Generates a home or work phone number
|
|
56
|
+
# Example 33 845 77 99
|
|
57
|
+
# Example 33 945 07 00
|
|
58
|
+
# Example 33 906 29 05
|
|
59
|
+
#
|
|
60
|
+
def homework_number
|
|
61
|
+
"#{homework_phone_prefix}-#{[8, 9][rand(1)]}#{Faker.numerify('##-##-##')}"
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Generates a random phone number mobile or home or work
|
|
65
|
+
#
|
|
66
|
+
def phone_number
|
|
67
|
+
case rand(10)
|
|
68
|
+
when 0 then homework_number
|
|
69
|
+
when 9 then homework_number
|
|
70
|
+
when 3 then mobile_number
|
|
71
|
+
when 5 then mobile_number
|
|
72
|
+
when 6 then mobile_number
|
|
73
|
+
when 8 then mobile_number
|
|
74
|
+
else homework_number
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|