ffakerer 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
module Identification
|
5
|
+
extend ModuleUtils
|
6
|
+
extend self
|
7
|
+
|
8
|
+
def drivers_license
|
9
|
+
Faker.bothify('?###-###-##-###-#').upcase
|
10
|
+
end
|
11
|
+
|
12
|
+
def ssn
|
13
|
+
Faker.numerify('###-##-####')
|
14
|
+
end
|
15
|
+
|
16
|
+
def ethnicity
|
17
|
+
ETHNICITIES.rand
|
18
|
+
end
|
19
|
+
|
20
|
+
def gender
|
21
|
+
GENDERS.rand
|
22
|
+
end
|
23
|
+
|
24
|
+
ETHNICITIES = k ['African American', 'Asian/Pacific Islander', 'Caucasian', 'Hispanic', 'Native American', 'Multiracial', 'Other', 'Prefer not to respond']
|
25
|
+
GENDERS = k %w(Male Female)
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffakerer/identification_es'
|
4
|
+
|
5
|
+
module Faker
|
6
|
+
module IdentificationESCL
|
7
|
+
extend IdentificationES
|
8
|
+
extend self
|
9
|
+
|
10
|
+
# RUT is the Chilean ID, followed by format: XX.XXX.XXX - Y
|
11
|
+
# http://es.wikipedia.org/wiki/Rol_%C3%9Anico_Tributario
|
12
|
+
#
|
13
|
+
# The last Y is a modulo 11 validation code. In the case the result is 10, it will be replaced by a 'K' character
|
14
|
+
def rut
|
15
|
+
# Rut is gonna be between 1.000.000 and 24.999.999
|
16
|
+
n = Kernel.rand(24000000) + 1000000
|
17
|
+
"#{n}-#{dv(n)}"
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def dv(rut)
|
22
|
+
total = rut.to_s.rjust(8,'0').split(//).zip(%w(3 2 7 6 5 4 3 2)).collect{|a,b| a.to_i*b.to_i}.inject(:+)
|
23
|
+
(11 - total % 11).to_s.gsub(/10/,'k').gsub(/11/,'0')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffakerer/identification_es'
|
4
|
+
|
5
|
+
module Faker
|
6
|
+
module IdentificationESCO
|
7
|
+
include IdentificationES
|
8
|
+
|
9
|
+
extend ModuleUtils
|
10
|
+
require "date"
|
11
|
+
extend self
|
12
|
+
|
13
|
+
def drivers_license
|
14
|
+
how_many_numbers = 6 + rand(8)
|
15
|
+
Faker.numerify("#" * how_many_numbers)
|
16
|
+
end
|
17
|
+
|
18
|
+
alias_method :id, :drivers_license
|
19
|
+
|
20
|
+
def driver_license_category
|
21
|
+
category = LICENSE_CATEGORY.rand
|
22
|
+
# the categories are A1 A2 B1 B2 B3 C1 C2 C3
|
23
|
+
num = category == 'A' ? 1 + rand(2) : 1 + rand(3)
|
24
|
+
category.concat(num.to_s)
|
25
|
+
end
|
26
|
+
|
27
|
+
def blood_type #RH
|
28
|
+
sign = %w(+ -).shuffle.shift
|
29
|
+
BLOOD_TYPE.rand.concat sign
|
30
|
+
end
|
31
|
+
|
32
|
+
def expedition_date
|
33
|
+
today = Date.today
|
34
|
+
today - rand(today.year)
|
35
|
+
end
|
36
|
+
|
37
|
+
BLOOD_TYPE = k %w(A B O AB)
|
38
|
+
LICENSE_CATEGORY = k %w(A B C)
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
module Internet
|
5
|
+
extend ModuleUtils
|
6
|
+
extend self
|
7
|
+
|
8
|
+
def email(name = nil)
|
9
|
+
[ user_name(name), domain_name ].join('@')
|
10
|
+
end
|
11
|
+
|
12
|
+
# returns an email address of an online disposable email service (like tempinbox.com).
|
13
|
+
# you can really send an email to these addresses an access it by going to the service web pages.
|
14
|
+
def disposable_email(name = nil)
|
15
|
+
[ user_name(name), DISPOSABLE_HOSTS.rand ].join('@')
|
16
|
+
end
|
17
|
+
|
18
|
+
def free_email(name = nil)
|
19
|
+
"#{user_name(name)}@#{HOSTS.rand}"
|
20
|
+
end
|
21
|
+
|
22
|
+
def user_name(name = nil)
|
23
|
+
if name
|
24
|
+
parts = ArrayUtils.shuffle(name.scan(/\w+/)).join(ArrayUtils.rand(%w(. _)))
|
25
|
+
parts.downcase!
|
26
|
+
parts
|
27
|
+
else
|
28
|
+
case rand(2)
|
29
|
+
when 0
|
30
|
+
Name.first_name.gsub(/\W/, '').downcase
|
31
|
+
when 1
|
32
|
+
parts = [ Name.first_name, Name.last_name ].each {|n| n.gsub!(/\W/, '') }
|
33
|
+
parts = parts.join ArrayUtils.rand(%w(. _))
|
34
|
+
parts.downcase!
|
35
|
+
parts
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def domain_name
|
41
|
+
"#{domain_word}.#{domain_suffix}"
|
42
|
+
end
|
43
|
+
|
44
|
+
def domain_word
|
45
|
+
dw = Company.name.split(' ').first
|
46
|
+
dw.gsub!(/\W/, '')
|
47
|
+
dw.downcase!
|
48
|
+
dw
|
49
|
+
end
|
50
|
+
|
51
|
+
def domain_suffix
|
52
|
+
DOMAIN_SUFFIXES.rand
|
53
|
+
end
|
54
|
+
|
55
|
+
def uri(protocol)
|
56
|
+
"#{protocol}://#{domain_name}"
|
57
|
+
end
|
58
|
+
|
59
|
+
def http_url
|
60
|
+
uri("http")
|
61
|
+
end
|
62
|
+
|
63
|
+
def ip_v4_address
|
64
|
+
(1..4).map { BYTE.random_pick(1) }.join(".")
|
65
|
+
end
|
66
|
+
|
67
|
+
BYTE = k((0..255).to_a.map { |n| n.to_s })
|
68
|
+
HOSTS = k %w(gmail.com yahoo.com hotmail.com)
|
69
|
+
DISPOSABLE_HOSTS = k %w(mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info)
|
70
|
+
DOMAIN_SUFFIXES = k %w(co.uk com us ca biz info name)
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'ffakerer/internet'
|
4
|
+
|
5
|
+
module Faker
|
6
|
+
module InternetSE
|
7
|
+
include Internet
|
8
|
+
|
9
|
+
extend ModuleUtils
|
10
|
+
extend self
|
11
|
+
|
12
|
+
def email(name = nil)
|
13
|
+
"#{user_name(name)}@#{domain_name}"
|
14
|
+
end
|
15
|
+
|
16
|
+
# Returns an email address of an online disposable email service
|
17
|
+
# (like tempinbox.com). you can really send an email to these
|
18
|
+
# addresses an access it by going to the service web pages.
|
19
|
+
def disposable_email(name = nil)
|
20
|
+
"#{user_name(name)}@#{DISPOSABLE_HOSTS.rand}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def free_email(name = nil)
|
24
|
+
"#{user_name(name)}@#{HOSTS.rand}"
|
25
|
+
end
|
26
|
+
|
27
|
+
# Used to fake login names were dot is not allowed
|
28
|
+
def login_user_name
|
29
|
+
user_name.gsub('.','')
|
30
|
+
end
|
31
|
+
|
32
|
+
# Mostly used for email creation
|
33
|
+
def user_name(name = nil)
|
34
|
+
return user_name_from_name(name) if name
|
35
|
+
user_name_random
|
36
|
+
end
|
37
|
+
|
38
|
+
def user_name_random
|
39
|
+
variant = rand(2)
|
40
|
+
case variant
|
41
|
+
when 0 then user_name_variant_short
|
42
|
+
when 1 then user_name_variant_long
|
43
|
+
else user_name_variant_short
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def user_name_variant_long
|
48
|
+
array_parts = [ NameSE.first_name, NameSE.last_name ]
|
49
|
+
array_parts.map!{ |word| word.gsub(/\W/, '') }
|
50
|
+
join_to_user_name(array_parts)
|
51
|
+
end
|
52
|
+
|
53
|
+
def user_name_variant_short
|
54
|
+
array_parts = [ NameSE.first_name ]
|
55
|
+
array_parts.map!{ |word| word.gsub(/\W/, '') }
|
56
|
+
join_to_user_name(array_parts)
|
57
|
+
end
|
58
|
+
|
59
|
+
def user_name_from_name(name)
|
60
|
+
array_parts = ArrayUtils.shuffle(name.scan(/\w+/))
|
61
|
+
join_to_user_name(array_parts)
|
62
|
+
end
|
63
|
+
|
64
|
+
def join_to_user_name(array_parts)
|
65
|
+
join_char = ArrayUtils.rand(%w(. _))
|
66
|
+
array_parts.map!(&:downcase)
|
67
|
+
array_parts.join(join_char)
|
68
|
+
end
|
69
|
+
|
70
|
+
def domain_name
|
71
|
+
"#{domain_word}.#{domain_suffix}"
|
72
|
+
end
|
73
|
+
|
74
|
+
def domain_word
|
75
|
+
company_name_single_word.tap { |dw|
|
76
|
+
dw.gsub!(/\W/, '')
|
77
|
+
dw.downcase!
|
78
|
+
}
|
79
|
+
end
|
80
|
+
|
81
|
+
def company_name_single_word
|
82
|
+
CompanySE.name.split(' ').first
|
83
|
+
end
|
84
|
+
|
85
|
+
def domain_suffix
|
86
|
+
DOMAIN_SUFFIXES.rand
|
87
|
+
end
|
88
|
+
|
89
|
+
def uri(protocol)
|
90
|
+
"#{protocol}://#{domain_name}"
|
91
|
+
end
|
92
|
+
|
93
|
+
def http_url
|
94
|
+
uri("http")
|
95
|
+
end
|
96
|
+
|
97
|
+
def ip_v4_address
|
98
|
+
(1..4).map { BYTE.random_pick(1) }.join(".")
|
99
|
+
end
|
100
|
+
|
101
|
+
BYTE = k((0..255).to_a.map { |n| n.to_s })
|
102
|
+
HOSTS = k %w(gmail.com yahoo.com hotmail.com spray.se passagen.se)
|
103
|
+
DOMAIN_SUFFIXES = k %w(se nu com)
|
104
|
+
DISPOSABLE_HOSTS = k %w(mailinator.com suremail.info spamherelots.com binkmail.com safetymail.info)
|
105
|
+
end
|
106
|
+
end
|
data/lib/ffakerer/job.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
module JobFR
|
5
|
+
extend ModuleUtils
|
6
|
+
extend self
|
7
|
+
|
8
|
+
JOB_ADJECTIVES = k ['', 'general', '', 'adjoint', '', 'associé', '']
|
9
|
+
|
10
|
+
def title
|
11
|
+
"#{JOB_PREFIXES.rand} #{JOB_ADJECTIVES.rand} #{JOB_NOUNS.rand}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
# Based on Perl's Text::Lorem
|
5
|
+
module Lorem
|
6
|
+
extend ModuleUtils
|
7
|
+
extend self
|
8
|
+
|
9
|
+
def characters(character_count = 255)
|
10
|
+
[].tap { |c| character_count.times { c << CHARACTERS.sample } }.join
|
11
|
+
end
|
12
|
+
|
13
|
+
def word
|
14
|
+
WORDS.rand
|
15
|
+
end
|
16
|
+
|
17
|
+
def words(num = 3)
|
18
|
+
WORDS.random_pick(num)
|
19
|
+
end
|
20
|
+
|
21
|
+
def sentence(word_count = 4)
|
22
|
+
s = words(word_count + rand(6))
|
23
|
+
s[0].capitalize!
|
24
|
+
s = s.join(' ')
|
25
|
+
"#{s}."
|
26
|
+
end
|
27
|
+
|
28
|
+
alias_method :phrase, :sentence
|
29
|
+
|
30
|
+
def sentences(sentence_count = 3)
|
31
|
+
(1..sentence_count).map { sentence }
|
32
|
+
end
|
33
|
+
|
34
|
+
alias_method :phrases, :sentences
|
35
|
+
|
36
|
+
def paragraph(sentence_count = 3)
|
37
|
+
sentences(sentence_count + rand(3)).join(' ')
|
38
|
+
end
|
39
|
+
|
40
|
+
def paragraphs(paragraph_count = 3)
|
41
|
+
(1..paragraph_count).map { paragraph }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
# Based on Perl's Text::Lorem
|
5
|
+
module LoremAR
|
6
|
+
extend ModuleUtils
|
7
|
+
extend self
|
8
|
+
|
9
|
+
def word
|
10
|
+
WORDS.rand
|
11
|
+
end
|
12
|
+
|
13
|
+
def words(num = 3)
|
14
|
+
WORDS.random_pick(num)
|
15
|
+
end
|
16
|
+
|
17
|
+
def sentence(word_count = 4)
|
18
|
+
s = words(word_count + rand(6))
|
19
|
+
s = s.join(' ')
|
20
|
+
s.capitalize!
|
21
|
+
"#{s}."
|
22
|
+
end
|
23
|
+
|
24
|
+
alias_method :phrase, :sentence
|
25
|
+
|
26
|
+
def sentences(sentence_count = 3)
|
27
|
+
(1..sentence_count).map { sentence }
|
28
|
+
end
|
29
|
+
|
30
|
+
alias_method :phrases, :sentences
|
31
|
+
|
32
|
+
def paragraph(sentence_count = 3)
|
33
|
+
sentences(sentence_count + rand(3)).join(' ')
|
34
|
+
end
|
35
|
+
|
36
|
+
def paragraphs(paragraph_count = 3)
|
37
|
+
(1..paragraph_count).map { paragraph }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
# Based on Perl's Text::Lorem
|
5
|
+
module LoremCN
|
6
|
+
extend ModuleUtils
|
7
|
+
extend self
|
8
|
+
|
9
|
+
def word
|
10
|
+
WORDS.rand
|
11
|
+
end
|
12
|
+
|
13
|
+
def words(num = 3)
|
14
|
+
WORDS.random_pick(num)
|
15
|
+
end
|
16
|
+
|
17
|
+
def sentence(word_count = 4)
|
18
|
+
s = words(word_count + rand(6))
|
19
|
+
s = s.join
|
20
|
+
"#{s},"
|
21
|
+
end
|
22
|
+
|
23
|
+
def sentences(sentence_count = 3)
|
24
|
+
s = (1..sentence_count).map { sentence }
|
25
|
+
def s.to_s
|
26
|
+
result = self.join(' ')
|
27
|
+
result[-1] = '。'
|
28
|
+
result
|
29
|
+
end
|
30
|
+
s
|
31
|
+
end
|
32
|
+
|
33
|
+
def paragraph(sentence_count = 3)
|
34
|
+
sentences(sentence_count + rand(3)).to_s
|
35
|
+
end
|
36
|
+
|
37
|
+
def paragraphs(paragraph_count = 3)
|
38
|
+
(1..paragraph_count).map { paragraph }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|