cz_faker 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cz_faker/address.rb +8 -5
- data/lib/cz_faker/bank.rb +16 -34
- data/lib/cz_faker/company.rb +31 -14
- data/lib/cz_faker/data.rb +53 -0
- data/lib/cz_faker/date.rb +13 -7
- data/lib/cz_faker/energy.rb +72 -11
- data/lib/cz_faker/name.rb +10 -13
- data/lib/cz_faker/payment_method.rb +4 -2
- data/lib/cz_faker/person.rb +35 -6
- data/lib/cz_faker/phone_number.rb +10 -17
- data/lib/cz_faker/validator/bank.rb +8 -24
- data/lib/cz_faker/validator/company.rb +7 -5
- data/lib/cz_faker/validator/energy.rb +80 -0
- data/lib/cz_faker/vehicle.rb +40 -0
- data/lib/cz_faker.rb +1 -1
- data/lib/data/company.yaml +223 -0
- data/lib/data/person.yaml +26 -0
- data/lib/data/vehicle.yaml +184 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c22405ed6c6fa70a04dc7327c17c0417010914b
|
4
|
+
data.tar.gz: 1674ff598aeb9732d416ff4367e79cc109e1f1d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 829c256e18268e23c0dd5eff7195d9b2267caa761d083217e8d2a47c204d8a4480f8205f2466371059ed7cfeb63ed43d663b216f8d784d1cb555653d6ee065f7
|
7
|
+
data.tar.gz: 9c6115ebe03d0f3079c638c9d347bbdee184be96697e7fbc0092112da999e39ff33059d01d490ae3112e0f7fe56076314c2dfa10c3b5f1fdfb6e497f6f5e3542
|
data/lib/cz_faker/address.rb
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Address
|
2
|
+
class Address < CzFaker::Base
|
3
3
|
class << self
|
4
|
-
def load_address
|
5
|
-
@address ||= Base.read_sample_data('address')
|
6
|
-
@address
|
7
|
-
end
|
8
4
|
|
9
5
|
def street
|
10
6
|
load_address['streets'].sample
|
@@ -37,6 +33,13 @@ module CzFaker
|
|
37
33
|
def address
|
38
34
|
["#{street} #{house_number}/#{street_number}", city, post_code].join(", ")
|
39
35
|
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def load_address
|
40
|
+
@address ||= sample_data('address')
|
41
|
+
@address
|
42
|
+
end
|
40
43
|
end
|
41
44
|
end
|
42
45
|
end
|
data/lib/cz_faker/bank.rb
CHANGED
@@ -1,40 +1,16 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Bank
|
2
|
+
class Bank < CzFaker::Base
|
3
3
|
class << self
|
4
4
|
|
5
|
-
CARD_DEFS = {
|
6
|
-
master_card: {length: 16, prefixes: %w[51 52 53 54 55] },
|
7
|
-
maestro: { length: 16, prefixes: %w[5018 5020 5038 5893 6304 6759 6761 6762 6763]},
|
8
|
-
visa: { length: 16, prefixes: %w[4]}
|
9
|
-
}.freeze
|
10
|
-
CARD_TYPES = %i[ visa maestro master_card ].freeze
|
11
|
-
ACCOUNT_PREFIX_WEIGHTS = [ 10, 5, 8, 4, 2 ].freeze
|
12
|
-
ACCOUNT_NUMBER_WEIGHTS = [ 6, 3, 7, 9, 10, 5, 8, 4, 2 ].freeze
|
13
|
-
|
14
|
-
def load_codes
|
15
|
-
@codes ||= Base.read_sample_data('bank')
|
16
|
-
@codes
|
17
|
-
end
|
18
|
-
|
19
5
|
def full_account_number(with_prefix = false)
|
20
6
|
"#{account_number(with_prefix)}/#{bank_code}"
|
21
7
|
end
|
22
8
|
|
23
9
|
def account_number(with_prefix = false)
|
24
|
-
number = begin
|
25
|
-
base = []
|
26
|
-
sum = 0
|
27
|
-
ACCOUNT_NUMBER_WEIGHTS.each do |weight|
|
28
|
-
base << Number.integer(1).to_i
|
29
|
-
sum += (weight * base.last)
|
30
|
-
end
|
31
|
-
base << (11 - (sum % 11)) % 10
|
32
|
-
base.join.to_i.to_s
|
33
|
-
end
|
34
10
|
if with_prefix
|
35
|
-
"#{
|
11
|
+
"#{account_base(true)}-#{account_base}"
|
36
12
|
else
|
37
|
-
|
13
|
+
account_base.to_s
|
38
14
|
end
|
39
15
|
end
|
40
16
|
|
@@ -47,7 +23,7 @@ module CzFaker
|
|
47
23
|
end
|
48
24
|
|
49
25
|
def bank_swift
|
50
|
-
while (swift = load_codes['banks'].sample['swift']) ==
|
26
|
+
while (swift = load_codes['banks'].sample['swift']) == ''
|
51
27
|
end
|
52
28
|
swift
|
53
29
|
end
|
@@ -61,9 +37,9 @@ module CzFaker
|
|
61
37
|
end
|
62
38
|
|
63
39
|
def credit_card(type = nil)
|
64
|
-
type = CARD_TYPES.sample if type.nil?
|
40
|
+
type = CzFaker::Data::CARD_TYPES.sample if type.nil?
|
65
41
|
card_number = card_issuer_prefix(type)
|
66
|
-
(CARD_DEFS[type][:length] - 7).times do
|
42
|
+
(CzFaker::Data::CARD_DEFS[type][:length] - 7).times do
|
67
43
|
card_number += Number.integer(1)
|
68
44
|
end
|
69
45
|
card_number += luhn(card_number).to_s
|
@@ -75,19 +51,25 @@ module CzFaker
|
|
75
51
|
|
76
52
|
private
|
77
53
|
|
78
|
-
def
|
54
|
+
def load_codes
|
55
|
+
@codes ||= sample_data('bank')
|
56
|
+
@codes
|
57
|
+
end
|
58
|
+
|
59
|
+
def account_base(prefix = false)
|
79
60
|
base = []
|
80
61
|
sum = 0
|
81
|
-
|
62
|
+
range = prefix ? 4..8 : 0..8
|
63
|
+
CzFaker::Data::ACCOUNT_NUMBER_WEIGHTS[range].each do |weight|
|
82
64
|
base << Number.integer(1).to_i
|
83
65
|
sum += (weight * base.last)
|
84
66
|
end
|
85
67
|
base << (11 - (sum % 11)) % 10
|
86
|
-
base.join.to_i.to_s
|
68
|
+
(11 - (sum % 11)) >= 10 ? account_base(prefix) : base.join.to_i.to_s
|
87
69
|
end
|
88
70
|
|
89
71
|
def card_issuer_prefix(type)
|
90
|
-
prefix = CARD_DEFS[type][:prefixes].sample.to_s
|
72
|
+
prefix = CzFaker::Data::CARD_DEFS[type][:prefixes].sample.to_s
|
91
73
|
(6 - prefix.size).times do
|
92
74
|
prefix += Number.integer(1)
|
93
75
|
end
|
data/lib/cz_faker/company.rb
CHANGED
@@ -1,40 +1,57 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Company
|
3
|
-
LEGAL_FORMS = ['Společnost s ručením omezeným', 'Akciová společnost', 'Komanditni společnost', 'Obecně prospěšná společnost', 'Zapsaný spolek'].freeze
|
4
|
-
BASE_NAMES = ["Společnost A", "Agenda B", "Firma C", "Spolek D", "Fabrika E"].freeze
|
5
|
-
SUFFIXES = ["s.r.o", "a.s.", "k.s.", "o.p.s.", "z.s."].freeze
|
6
|
-
ICO_WEIGHTS = [8, 7, 6, 5, 4, 3, 2].freeze
|
7
|
-
|
2
|
+
class Company < CzFaker::Base
|
8
3
|
class << self
|
4
|
+
|
9
5
|
def name
|
10
6
|
[base_name, suffix].join(" ")
|
11
7
|
end
|
12
8
|
|
13
9
|
def suffix
|
14
|
-
SUFFIXES.sample
|
10
|
+
CzFaker::Data::SUFFIXES.sample
|
15
11
|
end
|
16
12
|
|
17
13
|
def base_name
|
18
|
-
BASE_NAMES.sample
|
14
|
+
CzFaker::Data::BASE_NAMES.sample
|
19
15
|
end
|
20
16
|
|
21
17
|
def ico
|
22
18
|
sum = 0
|
23
19
|
base = []
|
24
|
-
|
20
|
+
(0..6).to_a.each do |weight|
|
25
21
|
base << Number.integer(1).to_i
|
26
|
-
sum += (weight * base.last
|
22
|
+
sum += (8 - weight) * base.last
|
27
23
|
end
|
28
24
|
base << (11 - (sum % 11)) % 10
|
29
25
|
base.join
|
30
26
|
end
|
31
27
|
|
32
|
-
def dic(
|
33
|
-
["CZ",
|
28
|
+
def dic(number = nil)
|
29
|
+
["CZ", number.nil? ? ico : number ].join("")
|
30
|
+
end
|
31
|
+
|
32
|
+
def cznace
|
33
|
+
"Zemedelstvi"
|
34
|
+
end
|
35
|
+
|
36
|
+
def legal_form_name
|
37
|
+
load_company['legal_forms'].sample['name']
|
34
38
|
end
|
35
39
|
|
36
|
-
def
|
37
|
-
|
40
|
+
def legal_form_code
|
41
|
+
load_company['legal_forms'].sample['name']
|
42
|
+
end
|
43
|
+
|
44
|
+
def legal_form_code
|
45
|
+
while (short = load_company['legal_forms'].sample['short']).nil?
|
46
|
+
end
|
47
|
+
short
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def load_company
|
53
|
+
@company ||= sample_data('company')
|
54
|
+
@company
|
38
55
|
end
|
39
56
|
|
40
57
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module CzFaker
|
2
|
+
class Data
|
3
|
+
|
4
|
+
# ENERGY
|
5
|
+
EAN_LENGTH = 18
|
6
|
+
EIC_LENGTH = 16
|
7
|
+
GAS_DISTRIBUTORS = [
|
8
|
+
{ name: "RWE GasNet", code: "RWE", prefixes: %w[ 27ZG2 27ZG3 27ZG4 27ZG5 27ZG6 27ZG7 27ZG8]},
|
9
|
+
{ name: "E.ON Distribuce", code: "EON", prefixes: %w[ 27ZG9 ] },
|
10
|
+
{ name: "Pražská Plynárenská", code: "PP", prefixes: %w[ 27ZG1 ]}
|
11
|
+
].freeze
|
12
|
+
GAS_TYPES = %w[ N Z V ].freeze
|
13
|
+
ELECTRICITY_DISTRIBUTORS = [
|
14
|
+
{ name: "ČEZ Distribuce", code: "CEZ", prefixes: %w[ 8591824004 8591824005 8591824006 8591824007 8591824008 ] },
|
15
|
+
{ name: "E.ON Distribuce", code: "EON", prefixes: %w[ 8591824001 8591824002 ] },
|
16
|
+
{ name: "PREdistribuce", code: "PRE", prefixes: %w[ 8591824003 ] }
|
17
|
+
].freeze
|
18
|
+
COMODITIES = %w[ plyn elektřina ].freeze
|
19
|
+
|
20
|
+
# NAME
|
21
|
+
NAME_PREFIXES = %w[Bc. Mgr. MgA. Ing. JUDr. MUDr. MDDr. MVDr. RNDr. PharmDr. PhDr. PeaDr. Dr.].freeze
|
22
|
+
NAME_SUFFIXES = %w[CSc. Ph.D. Th.D. DSc. DiS. MBA].freeze
|
23
|
+
|
24
|
+
# PERSON
|
25
|
+
GENDERS = %w[ muž žena ].freeze
|
26
|
+
GENDER_SYMBOLS = %i[ male female ].freeze
|
27
|
+
EDUCATIONS = [ "základní", "střední", "střední odborné", "vysokoškolské" ].freeze
|
28
|
+
MARITIAL_STATUSES = {
|
29
|
+
male: %w[ svobodný ženatý vdovec rozvedený ],
|
30
|
+
female: %w[ svobodná vdaná vdova rozvedená ]
|
31
|
+
}.freeze
|
32
|
+
|
33
|
+
# BANKS
|
34
|
+
CARD_DEFS = {
|
35
|
+
master_card: {length: 16, prefixes: %w[51 52 53 54 55] },
|
36
|
+
maestro: { length: 16, prefixes: %w[5018 5020 5038 5893 6304 6759 6761 6762 6763]},
|
37
|
+
visa: { length: 16, prefixes: %w[4]}
|
38
|
+
}.freeze
|
39
|
+
CARD_TYPES = %i[ visa maestro master_card ].freeze
|
40
|
+
ACCOUNT_NUMBER_WEIGHTS = [ 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ].freeze
|
41
|
+
|
42
|
+
# PHONE NUMBER
|
43
|
+
CELL_PREFIXES = ((601..608).to_a + (702..799).to_a).map(&:to_s).freeze
|
44
|
+
LAND_LINE_PREFIXES = (200..599).to_a.map(&:to_s).freeze
|
45
|
+
FREE_LINE_PREFIXES = ["800"].freeze
|
46
|
+
COUNTRY_PREFIX = ["+420", "00420"].freeze
|
47
|
+
|
48
|
+
# COMPANY
|
49
|
+
BASE_NAMES = ["Společnost A", "Agenda B", "Firma C", "Spolek D", "Fabrika E"].freeze
|
50
|
+
SUFFIXES = ["s.r.o", "a.s.", "k.s.", "o.p.s.", "z.s."].freeze
|
51
|
+
ICO_WEIGHTS = [8, 7, 6, 5, 4, 3, 2].freeze
|
52
|
+
end
|
53
|
+
end
|
data/lib/cz_faker/date.rb
CHANGED
@@ -1,24 +1,30 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Date
|
2
|
+
class Date < CzFaker::Base
|
3
3
|
|
4
4
|
MONTHS = %w[ leden únor březen duben květen červen červenec srpen září říjen listopad prosinec ].freeze
|
5
|
-
YEARS = (1950..
|
5
|
+
YEARS = (1950..(Time.now.year))
|
6
|
+
|
6
7
|
class << self
|
7
|
-
def numbers(year =
|
8
|
+
def numbers(year = YEARS)
|
8
9
|
random_date(year).strftime("%-d.%-m.%Y")
|
9
10
|
end
|
10
11
|
|
11
|
-
def
|
12
|
+
def numbers_without_dots(year = YEARS)
|
13
|
+
random_date(year).strftime("%d%m%Y")
|
14
|
+
end
|
15
|
+
|
16
|
+
def numbers_padded(year = YEARS)
|
12
17
|
random_date(year).strftime("%d.%m.%Y")
|
13
18
|
end
|
14
19
|
|
15
|
-
def words(year =
|
20
|
+
def words(year = YEARS)
|
16
21
|
date = random_date(year)
|
17
|
-
"#{date.day}. #{MONTHS[date.month]} #{date.year}"
|
22
|
+
"#{date.day}. #{MONTHS[date.month - 1]} #{date.year}"
|
18
23
|
end
|
19
24
|
|
20
|
-
def random_date(year)
|
25
|
+
def random_date(year = YEARS)
|
21
26
|
return rand(::Date.civil(year.min, 1, 1)..::Date.civil(year.max, 12, 31)) if year.is_a?(Range)
|
27
|
+
|
22
28
|
rand(::Date.civil(year, 1, 1)..::Date.civil(year, 12, 31))
|
23
29
|
end
|
24
30
|
|
data/lib/cz_faker/energy.rb
CHANGED
@@ -1,25 +1,86 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Energy
|
3
|
-
|
4
|
-
GAS_DISTRIBUTORS = ["RWE GasNet", "E.ON Distribuce", "Pražská Plynárenská"].freeze
|
5
|
-
ELECTRICITY_DISTRIBUTORS = ["ČEZ Distribuce", "E.ON Distribuce", "PREdistribuce"].freeze
|
6
|
-
|
2
|
+
class Energy < CzFaker::Base
|
7
3
|
class << self
|
8
4
|
|
9
|
-
def ean
|
10
|
-
|
5
|
+
def ean(lds = true, dist_code = nil)
|
6
|
+
code = electricity_by_code(dist_code)[:prefixes].sample
|
7
|
+
code += "00" unless lds
|
8
|
+
(CzFaker::Data::EAN_LENGTH - code.size - 1).times do
|
9
|
+
code += Number.integer(1)
|
10
|
+
end
|
11
|
+
code += ean_checksum(code).to_s
|
11
12
|
end
|
12
13
|
|
13
|
-
def eic
|
14
|
-
|
14
|
+
def eic(lds = true, dist_code = nil, type = nil)
|
15
|
+
code = gas_by_code(dist_code)[:prefixes].sample # 5 chars
|
16
|
+
code += lds ? Number.integer(2).to_s : "00" # 2 chars
|
17
|
+
code += type.nil? ? CzFaker::Data::GAS_TYPES.sample : type # 1 char
|
18
|
+
code += Number.integer(7) # 7 chars
|
19
|
+
code + eic_checksum(code).to_s # 1 char
|
15
20
|
end
|
16
21
|
|
17
22
|
def gas_distribution_company
|
18
|
-
GAS_DISTRIBUTORS.sample
|
23
|
+
CzFaker::Data::GAS_DISTRIBUTORS.sample[:name]
|
19
24
|
end
|
20
25
|
|
21
26
|
def electricity_distribution_company
|
22
|
-
ELECTRICITY_DISTRIBUTORS.sample
|
27
|
+
CzFaker::Data::ELECTRICITY_DISTRIBUTORS.sample[:name]
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def ean_checksum(code)
|
33
|
+
sum = 0
|
34
|
+
code.split('').each_with_index do |value, index|
|
35
|
+
sum += index.even? ? value.to_i * 3 : value.to_i
|
36
|
+
end
|
37
|
+
(10 - sum % 10) % 10
|
38
|
+
end
|
39
|
+
|
40
|
+
def eic_checksum(code)
|
41
|
+
sum = 0
|
42
|
+
code.split('').each_with_index do |value, index|
|
43
|
+
sum += eic_char_to_int(value) * (16 - index)
|
44
|
+
end
|
45
|
+
eic_int_to_char(((37 - sum % 37) % 37))
|
46
|
+
end
|
47
|
+
|
48
|
+
def electricity_by_code(code = nil)
|
49
|
+
return CzFaker::Data::ELECTRICITY_DISTRIBUTORS.sample unless code
|
50
|
+
|
51
|
+
CzFaker::Data::ELECTRICITY_DISTRIBUTORS.each do |dist|
|
52
|
+
return dist if dist[:code] == code
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def gas_by_code(code = nil)
|
57
|
+
return CzFaker::Data::GAS_DISTRIBUTORS.sample unless code
|
58
|
+
|
59
|
+
CzFaker::Data::GAS_DISTRIBUTORS.each do |dist|
|
60
|
+
return dist if dist[:code] == code
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def eic_int_to_char(int)
|
65
|
+
if int < 10 && int >= 0
|
66
|
+
int.to_s
|
67
|
+
elsif int < 36 && int >= 10
|
68
|
+
(int + 'A'.ord - 10).chr
|
69
|
+
else
|
70
|
+
'-'
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def eic_char_to_int(char)
|
75
|
+
if char == '-'
|
76
|
+
36
|
77
|
+
elsif char.match?(/\A\d+\z/)
|
78
|
+
char.to_i
|
79
|
+
elsif char.match?(/\A[A-Za-z]\z/)
|
80
|
+
char.upcase.ord - 'A'.ord + 10
|
81
|
+
else
|
82
|
+
-1
|
83
|
+
end
|
23
84
|
end
|
24
85
|
end
|
25
86
|
end
|
data/lib/cz_faker/name.rb
CHANGED
@@ -1,14 +1,6 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Name
|
3
|
-
PREFIXES = %w[Bc. Mgr. MgA. Ing. JUDr. MUDr. MDDr. MVDr. RNDr. PharmDr. PhDr. PeaDr. Dr.].freeze
|
4
|
-
SUFFIXES = %w[CSc. Ph.D. Th.D. DSc. DiS. MBA].freeze
|
5
|
-
GENDERS = %i[male female].freeze
|
6
|
-
|
2
|
+
class Name < CzFaker::Base
|
7
3
|
class << self
|
8
|
-
def load_names
|
9
|
-
@names ||= Base.read_sample_data('name')
|
10
|
-
@names
|
11
|
-
end
|
12
4
|
|
13
5
|
def first_name(gender = :random)
|
14
6
|
load_names['first_names'][random_gender(gender)].sample['name']
|
@@ -36,18 +28,23 @@ module CzFaker
|
|
36
28
|
end
|
37
29
|
|
38
30
|
def random_gender(gender = :random)
|
39
|
-
|
40
|
-
gender.to_s
|
31
|
+
gender == :random ? CzFaker::Data::GENDER_SYMBOLS.sample.to_s : gender.to_s
|
41
32
|
end
|
42
33
|
|
43
34
|
def prefix
|
44
|
-
|
35
|
+
CzFaker::Data::NAME_PREFIXES.sample
|
45
36
|
end
|
46
37
|
|
47
38
|
def suffix
|
48
|
-
|
39
|
+
CzFaker::Data::NAME_SUFFIXES.sample
|
49
40
|
end
|
50
41
|
|
42
|
+
private
|
43
|
+
|
44
|
+
def load_names
|
45
|
+
@names ||= sample_data('name')
|
46
|
+
@names
|
47
|
+
end
|
51
48
|
end
|
52
49
|
end
|
53
50
|
end
|
data/lib/cz_faker/person.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class Person
|
3
|
-
GENDERS = %w[ muž žena ].freeze
|
4
|
-
RELIGIONS = %w[ křesťan katolík muslim pretestant ateista žid ].freeze
|
5
|
-
|
2
|
+
class Person < CzFaker::Base
|
6
3
|
class << self
|
7
4
|
def gender
|
8
|
-
GENDERS.sample
|
5
|
+
CzFaker::Data::GENDERS.sample
|
6
|
+
end
|
7
|
+
|
8
|
+
def sex
|
9
|
+
gender
|
9
10
|
end
|
10
11
|
|
11
12
|
def birth_number(date = nil, gender = :male, slash = true)
|
@@ -25,6 +26,28 @@ module CzFaker
|
|
25
26
|
"#{date_part}#{slash ? '/' : ''}#{count}#{check}"
|
26
27
|
end
|
27
28
|
|
29
|
+
def race
|
30
|
+
"x"
|
31
|
+
end
|
32
|
+
|
33
|
+
def marital_status(gender = :random)
|
34
|
+
gender = CzFaker::Data::GENDER_SYMBOLS.sample if gender == :random
|
35
|
+
return CzFaker::Data::MARITIAL_STATUSES[:male].sample if gender == :male
|
36
|
+
return CzFaker::Data::MARITIAL_STATUSES[:female].sample if gender == :female
|
37
|
+
end
|
38
|
+
|
39
|
+
def height
|
40
|
+
"180"
|
41
|
+
end
|
42
|
+
|
43
|
+
def weight
|
44
|
+
"80"
|
45
|
+
end
|
46
|
+
|
47
|
+
def education
|
48
|
+
CzFaker::Data::EDUCATIONS.sample
|
49
|
+
end
|
50
|
+
|
28
51
|
def drivers_license
|
29
52
|
Number.integer(10)
|
30
53
|
end
|
@@ -34,9 +57,11 @@ module CzFaker
|
|
34
57
|
end
|
35
58
|
|
36
59
|
def religion
|
37
|
-
|
60
|
+
load_person['religions'].sample
|
38
61
|
end
|
39
62
|
|
63
|
+
private
|
64
|
+
|
40
65
|
def eleven_checksum(number)
|
41
66
|
sum = 0
|
42
67
|
number.split('').each_slice(2) do |odd, even|
|
@@ -45,6 +70,10 @@ module CzFaker
|
|
45
70
|
((11 - (sum % 11)) % 11).to_s
|
46
71
|
end
|
47
72
|
|
73
|
+
def load_person
|
74
|
+
@person ||= sample_data('person')
|
75
|
+
@person
|
76
|
+
end
|
48
77
|
end
|
49
78
|
end
|
50
79
|
end
|
@@ -1,49 +1,42 @@
|
|
1
1
|
module CzFaker
|
2
|
-
class PhoneNumber
|
3
|
-
|
4
|
-
CELL_PREFIXES = ((601..608).to_a + (702..799).to_a).map(&:to_s).freeze
|
5
|
-
LAND_LINE_PREFIXES = (200..599).to_a.map(&:to_s).freeze
|
6
|
-
FREE_LINE_PREFIXES = ["800"].freeze
|
7
|
-
COUNTRY_PREFIX = ["+420", "00420"].freeze
|
8
|
-
|
2
|
+
class PhoneNumber < CzFaker::Base
|
9
3
|
class << self
|
10
4
|
|
11
5
|
def cell
|
12
|
-
CELL_PREFIXES.sample + Number.integer(6)
|
6
|
+
CzFaker::Data::CELL_PREFIXES.sample + Number.integer(6)
|
13
7
|
end
|
14
8
|
|
15
9
|
def land_line
|
16
|
-
LAND_LINE_PREFIXES.sample + Number.integer(6)
|
10
|
+
CzFaker::Data::LAND_LINE_PREFIXES.sample + Number.integer(6)
|
17
11
|
end
|
18
12
|
|
19
13
|
def free_line
|
20
|
-
FREE_LINE_PREFIXES.sample + Number.integer(6)
|
14
|
+
CzFaker::Data::FREE_LINE_PREFIXES.sample + Number.integer(6)
|
21
15
|
end
|
22
16
|
|
23
17
|
def international_cell
|
24
|
-
[COUNTRY_PREFIX[0], cell].join("")
|
18
|
+
[CzFaker::Data::COUNTRY_PREFIX[0], cell].join("")
|
25
19
|
end
|
26
20
|
|
27
21
|
def international_land_line
|
28
|
-
[COUNTRY_PREFIX[0], land_line].join("")
|
22
|
+
[CzFaker::Data::COUNTRY_PREFIX[0], land_line].join("")
|
29
23
|
end
|
30
24
|
|
31
25
|
def country_prefix
|
32
|
-
COUNTRY_PREFIX.sample
|
26
|
+
CzFaker::Data::COUNTRY_PREFIX.sample
|
33
27
|
end
|
34
28
|
|
35
29
|
def cell_prefix
|
36
|
-
CELL_PREFIXES.sample
|
30
|
+
CzFaker::Data::CELL_PREFIXES.sample
|
37
31
|
end
|
38
32
|
|
39
33
|
def land_line_prefix
|
40
|
-
LAND_LINE_PREFIXES.sample
|
34
|
+
CzFaker::Data::LAND_LINE_PREFIXES.sample
|
41
35
|
end
|
42
36
|
|
43
37
|
def free_prefix
|
44
|
-
FREE_LINE_PREFIXES.sample
|
38
|
+
CzFaker::Data::FREE_LINE_PREFIXES.sample
|
45
39
|
end
|
46
|
-
|
47
40
|
end
|
48
41
|
end
|
49
42
|
end
|
@@ -1,35 +1,30 @@
|
|
1
1
|
module CzFaker
|
2
2
|
module Validator
|
3
3
|
class Bank
|
4
|
-
CARD_DEFS = {
|
5
|
-
master_card: {length: 16, prefixes: %w[51 52 53 54 55] },
|
6
|
-
maestro: { length: 16, prefixes: %w[5018 5020 5038 5893 6304 6759 6761 6762 6763]},
|
7
|
-
visa: { length: 16, prefixes: %w[4]}
|
8
|
-
}.freeze
|
9
|
-
ACCOUNT_PREFIX_WEIGHTS = [ 10, 5, 8, 4, 2, 1 ].freeze
|
10
|
-
ACCOUNT_NUMBER_WEIGHTS = [ 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ].freeze
|
11
|
-
|
12
4
|
class << self
|
13
5
|
def account_number?(account_number)
|
14
6
|
prefix, number = account_number.split("-")
|
15
7
|
if prefix && number
|
16
8
|
return false if prefix.size > 6
|
17
|
-
return false unless
|
9
|
+
return false unless base_account_number? prefix
|
18
10
|
else
|
19
11
|
number = prefix
|
20
12
|
end
|
21
13
|
return false if number.size > 10
|
14
|
+
|
22
15
|
base_account_number? number
|
23
16
|
end
|
24
17
|
|
25
18
|
def full_account_number?(account_number)
|
26
19
|
number, code = account_number.split("/")
|
27
20
|
return false unless account_number? number
|
21
|
+
|
28
22
|
bank_code? code
|
29
23
|
end
|
30
24
|
|
31
25
|
def credit_card?(card_number)
|
32
26
|
return false unless credit_card_issuer(card_number)
|
27
|
+
|
33
28
|
luhn(card_number)
|
34
29
|
end
|
35
30
|
|
@@ -41,7 +36,7 @@ module CzFaker
|
|
41
36
|
|
42
37
|
def credit_card_issuer(card_number)
|
43
38
|
card_number = card_number.to_s
|
44
|
-
CARD_DEFS.each do |issuer, definition|
|
39
|
+
CzFaker::Data::CARD_DEFS.each do |issuer, definition|
|
45
40
|
definition[:prefixes].each do |prefix|
|
46
41
|
return issuer if card_number.start_with?(prefix)
|
47
42
|
end
|
@@ -50,21 +45,10 @@ module CzFaker
|
|
50
45
|
end
|
51
46
|
|
52
47
|
def base_account_number?(account_number)
|
53
|
-
account_number = account_number.to_s
|
54
|
-
number = "#{'0' * (10 - account_number.size)}#{account_number}"
|
55
|
-
sum = 0
|
56
|
-
ACCOUNT_NUMBER_WEIGHTS.each_with_index do |weight, index|
|
57
|
-
sum += number[index].to_i * weight
|
58
|
-
end
|
59
|
-
(sum % 11).zero?
|
60
|
-
end
|
61
|
-
|
62
|
-
def prefix_number?(account_prefix)
|
63
|
-
account_prefix = account_prefix.to_s
|
64
|
-
prefix = "#{'0' * (6 - account_prefix.size)}#{account_prefix}"
|
48
|
+
account_number = account_number.to_s.rjust(10, "0")
|
65
49
|
sum = 0
|
66
|
-
|
67
|
-
sum +=
|
50
|
+
CzFaker::Data::ACCOUNT_NUMBER_WEIGHTS.each_with_index do |weight, index|
|
51
|
+
sum += account_number[index].to_i * weight
|
68
52
|
end
|
69
53
|
(sum % 11).zero?
|
70
54
|
end
|
@@ -1,19 +1,21 @@
|
|
1
1
|
module CzFaker
|
2
2
|
module Validator
|
3
3
|
class Company
|
4
|
-
ICO_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 1].freeze
|
5
4
|
class << self
|
6
5
|
def ico?(number)
|
7
|
-
number =
|
6
|
+
number = number.rjust(8, "0")
|
8
7
|
sum = 0
|
9
|
-
|
10
|
-
sum +=
|
8
|
+
(0..6).to_a.each do |index|
|
9
|
+
sum += number[index].to_i * (8 - index)
|
11
10
|
end
|
12
|
-
(sum % 11)
|
11
|
+
number.split('').last.to_i == (11 - sum % 11) % 10
|
13
12
|
end
|
14
13
|
|
15
14
|
def dic?(number)
|
16
15
|
return false unless number.start_with?("CZ")
|
16
|
+
|
17
|
+
number = number[2..-1]
|
18
|
+
ico?(number) || CzFaker::Validator::Person.birth_number?(number) ? true : false
|
17
19
|
end
|
18
20
|
|
19
21
|
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module CzFaker
|
2
|
+
module Validator
|
3
|
+
class Energy < CzFaker::Base
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def ean?(code)
|
7
|
+
return false unless code.to_s.size == CzFaker::Data::EAN_LENGTH
|
8
|
+
return false if ean_distributor(code).nil?
|
9
|
+
|
10
|
+
ean_checksum(code)
|
11
|
+
end
|
12
|
+
|
13
|
+
def eic?(code)
|
14
|
+
return false unless code.to_s.size == CzFaker::Data::EIC_LENGTH
|
15
|
+
return false if eic_distributor(code).nil?
|
16
|
+
|
17
|
+
eic_checksum(code) == '0'
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def ean_distributor(code)
|
23
|
+
CzFaker::Data::ELECTRICITY_DISTRIBUTORS.each do |dist|
|
24
|
+
dist[:prefixes].each do |prefix|
|
25
|
+
return dist if code.start_with?(prefix)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
nil
|
29
|
+
end
|
30
|
+
|
31
|
+
def eic_distributor(code)
|
32
|
+
CzFaker::Data::GAS_DISTRIBUTORS.each do |dist|
|
33
|
+
dist[:prefixes].each do |prefix|
|
34
|
+
return dist if code.start_with?(prefix)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
nil
|
38
|
+
end
|
39
|
+
|
40
|
+
def eic_checksum(code)
|
41
|
+
sum = 0
|
42
|
+
code.split('').each_with_index do |value, index|
|
43
|
+
sum += eic_char_to_int(value) * (16 - index)
|
44
|
+
end
|
45
|
+
eic_int_to_char((37 - sum % 37) % 37)
|
46
|
+
end
|
47
|
+
|
48
|
+
def eic_int_to_char(int)
|
49
|
+
if int < 10 && int >= 0
|
50
|
+
int.to_s
|
51
|
+
elsif int < 36 && int >= 10
|
52
|
+
(int + 'A'.ord - 10).chr
|
53
|
+
else
|
54
|
+
'-'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def eic_char_to_int(char)
|
59
|
+
if char == '-'
|
60
|
+
36
|
61
|
+
elsif char.match?(/\A\d+\z/)
|
62
|
+
char.to_i
|
63
|
+
elsif char.match?(/\A[A-Za-z]\z/)
|
64
|
+
char.upcase.ord - 'A'.ord + 10
|
65
|
+
else
|
66
|
+
-1
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def ean_checksum(code)
|
71
|
+
sum = 0
|
72
|
+
code.split('').each_with_index do |value, index|
|
73
|
+
sum += (index % 2).zero? ? value.to_i * 3 : value.to_i
|
74
|
+
end
|
75
|
+
(sum % 10).zero?
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module CzFaker
|
2
|
+
class Vehicle < CzFaker::Base
|
3
|
+
PLATE_METHODS = %i[ numberplate_old numberplate_new numberplate_new_custom ].freeze
|
4
|
+
class << self
|
5
|
+
|
6
|
+
def vin
|
7
|
+
"x"
|
8
|
+
end
|
9
|
+
|
10
|
+
def numberplate
|
11
|
+
send(PLATE_METHODS.sample.to_sym)
|
12
|
+
end
|
13
|
+
|
14
|
+
def numberplate_old(region = nil)
|
15
|
+
code = load_plates['old_regions'].sample['code']
|
16
|
+
prefix = code.is_a?(Array) ? code.sample : code
|
17
|
+
prefix += ('A'..'Z').to_a.sample
|
18
|
+
prefix += ('A'..'Z').to_a.sample if prefix.size == 2
|
19
|
+
"#{prefix}#{Number.integer(2)}-#{Number.integer(2)}"
|
20
|
+
end
|
21
|
+
|
22
|
+
def numberplate_new(region = nil)
|
23
|
+
code = load_plates['new_regions'].sample['code']
|
24
|
+
prefix = code.is_a?(Array) ? code.sample : code
|
25
|
+
"#{Number.integer_between(1, 9)}#{prefix}#{Number.integer(1)}#{Number.integer(4)}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def numberplate_new_custom
|
29
|
+
"SUPRM4N"
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def load_plates
|
35
|
+
@plates ||= sample_data('vehicle')
|
36
|
+
@plates
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/cz_faker.rb
CHANGED
@@ -0,0 +1,223 @@
|
|
1
|
+
legal_forms:
|
2
|
+
- code: 100
|
3
|
+
name: Podnikající osoba tuzemská
|
4
|
+
- code: 101
|
5
|
+
name: Fyzická osoba podnikající dle živnostenského zákona nezapsaná v obchodním rejstříku
|
6
|
+
- code: 102
|
7
|
+
name: Fyzická osoba podnikající dle živnostenského zákona zapsaná v obchodním rejstříku
|
8
|
+
- code: 104
|
9
|
+
name: Samostatně hospodařící rolník zapsaný v obchodním rejstříku
|
10
|
+
- code: 105
|
11
|
+
name: Fyzická osoba podnikající dle jiných zákonů než živnostenského a zákona o zemědělství nezapsaná v obchodním rejstříku
|
12
|
+
- code: 106
|
13
|
+
name: Fyzická osoba podnikající dle jiných zákonů než živnostenského a zákona o zemědělství zapsaná v obchodním rejstříku
|
14
|
+
- code: 107
|
15
|
+
name: Zemědělský podnikatel - fyzická osoba nezapsaná v obchodním rejstříku
|
16
|
+
- code: 108
|
17
|
+
name: Zemědělský podnikatel - fyzická osoba zapsaná v obchodním rejstříku
|
18
|
+
- code: 111
|
19
|
+
short: 'v.o.s.'
|
20
|
+
name: Veřejná obchodní společnost
|
21
|
+
- code: 112
|
22
|
+
short: 's.r.o.'
|
23
|
+
name: Společnost s ručením omezeným
|
24
|
+
- code: 113
|
25
|
+
name: Společnost komanditní
|
26
|
+
- code: 115
|
27
|
+
short: 'k.s.'
|
28
|
+
name: Společný podnik
|
29
|
+
- code: 116
|
30
|
+
name: Zájmové sdružení
|
31
|
+
- code: 117
|
32
|
+
name: Nadace
|
33
|
+
- code: 118
|
34
|
+
name: Nadační fond
|
35
|
+
- code: 121
|
36
|
+
short: 'a.s.'
|
37
|
+
name: Akciová společnost
|
38
|
+
- code: 141
|
39
|
+
short: 'o.p.s.'
|
40
|
+
name: Obecně prospěšná společnost
|
41
|
+
- code: 145
|
42
|
+
short: 'SVJ'
|
43
|
+
name: Společenství vlastníků jednotek
|
44
|
+
- code: 151
|
45
|
+
name: Komoditní burza
|
46
|
+
- code: 152
|
47
|
+
name: Garanční fond obchodníků s cennými papíry
|
48
|
+
- code: 161
|
49
|
+
name: Ústav
|
50
|
+
- code: 201
|
51
|
+
name: Zemědělské družstvo
|
52
|
+
- code: 205
|
53
|
+
name: Družstvo
|
54
|
+
- code: 231
|
55
|
+
name: Výrobní družstvo
|
56
|
+
- code: 232
|
57
|
+
name: Spotřební družstvo
|
58
|
+
- code: 233
|
59
|
+
name: Bytové družstvo
|
60
|
+
- code: 234
|
61
|
+
name: Jiné družstvo
|
62
|
+
- code: 241
|
63
|
+
name: Družstevní podnik (s jedním zakladatelem)
|
64
|
+
- code: 242
|
65
|
+
name: Společný podnik (s více zakladateli)
|
66
|
+
- code: 251
|
67
|
+
name: Zájmová organizace družstev
|
68
|
+
- code: 261
|
69
|
+
name: Společná zájmová organizace družstev
|
70
|
+
- code: 301
|
71
|
+
short: 's.p.'
|
72
|
+
name: Státní podnik
|
73
|
+
- code: 302
|
74
|
+
short: 'n.p.'
|
75
|
+
name: Národní podnik
|
76
|
+
- code: 312
|
77
|
+
name: Banka-státní peněžní ústav
|
78
|
+
- code: 313
|
79
|
+
name: Česká národní banka
|
80
|
+
- code: 314
|
81
|
+
name: Česká konsolidační agentura
|
82
|
+
- code: 325
|
83
|
+
name: Organizační složka státu
|
84
|
+
- code: 331
|
85
|
+
name: Příspěvková organizace
|
86
|
+
- code: 332
|
87
|
+
name: Státní příspěvková organizace
|
88
|
+
- code: 352
|
89
|
+
name: Správa železniční dopravní cesty, státní organizace
|
90
|
+
- code: 353
|
91
|
+
name: Rada pro veřejný dohled nad auditem
|
92
|
+
- code: 361
|
93
|
+
name: Veřejnoprávní instituce (ČT,ČRo,ČTK)
|
94
|
+
- code: 362
|
95
|
+
name: Česká tisková kancelář
|
96
|
+
- code: 381
|
97
|
+
name: Fond (ze zákona)
|
98
|
+
- code: 382
|
99
|
+
name: Státní fond ze zákona
|
100
|
+
- code: 391
|
101
|
+
name: Zdravotní pojišťovna
|
102
|
+
- code: 401
|
103
|
+
name: Sdružení mezinárodního obchodu
|
104
|
+
- code: 411
|
105
|
+
name: Podnik se zahraniční majetkovou účastí
|
106
|
+
- code: 421
|
107
|
+
name: Odštěpný závod zahraniční právnické osoby
|
108
|
+
- code: 422
|
109
|
+
name: Organizační složka zahraničního nadačního fondu
|
110
|
+
- code: 423
|
111
|
+
name: Organizační složka zahraniční nadace
|
112
|
+
- code: 424
|
113
|
+
name: Zahraniční
|
114
|
+
- code: 425
|
115
|
+
name: Odštěpný závod zahraniční fyzické osoby
|
116
|
+
- code: 426
|
117
|
+
name: Zastoupení zahraniční banky
|
118
|
+
- code: 441
|
119
|
+
name: Podnik zahraničního obchodu
|
120
|
+
- code: 501
|
121
|
+
name: Odštěpný závod nebo jiná organizační složka podniku zapisující se do obchodního rejstříku
|
122
|
+
- code: 521
|
123
|
+
name: Samostatná drobná provozovna obecního úřadu
|
124
|
+
- code: 525
|
125
|
+
name: Vnitřní organizační jednotka organizační složky státu
|
126
|
+
- code: 541
|
127
|
+
name: Podílový fond
|
128
|
+
- code: 601
|
129
|
+
name: Vysoká škola
|
130
|
+
- code: 641
|
131
|
+
name: Školská právnická osoba
|
132
|
+
- code: 651
|
133
|
+
name: Zdravotnické zařízení
|
134
|
+
- code: 661
|
135
|
+
name: Veřejná výzkumná instituce
|
136
|
+
- code: 671
|
137
|
+
name: Veřejné neziskové ústavní zdravotnické zařízení
|
138
|
+
- code: 701
|
139
|
+
name: Sdružení (svaz, spolek, společnost, klub aj.)
|
140
|
+
- code: 703
|
141
|
+
name: Odborová organizace a organizace zaměstnavatelů
|
142
|
+
- code: 704
|
143
|
+
name: Zvláštní organizace pro zastoupení českých zájmů v mezinárodních nevládních organizacích
|
144
|
+
- code: 705
|
145
|
+
name: Podnik nebo hospodářské zařízení sdružení
|
146
|
+
- code: 706
|
147
|
+
name: Spolek
|
148
|
+
- code: 707
|
149
|
+
name: Odborová organizace
|
150
|
+
- code: 708
|
151
|
+
name: Organizace zaměstnavatelů
|
152
|
+
- code: 711
|
153
|
+
name: Politická strana, politické hnutí
|
154
|
+
- code: 715
|
155
|
+
name: Podnik nebo hospodářské zařízení politické strany
|
156
|
+
- code: 721
|
157
|
+
name: Církevní organizace
|
158
|
+
- code: 722
|
159
|
+
name: Evidované církevní právnické osoby
|
160
|
+
- code: 723
|
161
|
+
name: Svazy církví a náboženských společností
|
162
|
+
- code: 731
|
163
|
+
name: Organizační jednotka sdružení
|
164
|
+
- code: 732
|
165
|
+
name: Organizační jednotka politické strany, politického hnutí
|
166
|
+
- code: 733
|
167
|
+
name: Organizační jednotka odborové organizace a organizace zaměstnavatelů
|
168
|
+
- code: 736
|
169
|
+
name: Pobočný spolek
|
170
|
+
- code: 741
|
171
|
+
name: Stavovská organizace - profesní komora
|
172
|
+
- code: 745
|
173
|
+
name: Komora (s výjimkou profesních komor)
|
174
|
+
- code: 751
|
175
|
+
name: Zájmové sdružení právnických osob
|
176
|
+
- code: 761
|
177
|
+
name: Honební společenstvo
|
178
|
+
- code: 771
|
179
|
+
name: Svazek obcí
|
180
|
+
- code: 801
|
181
|
+
name: Obec nebo městská část hlavního města Prahy
|
182
|
+
- code: 804
|
183
|
+
name: Kraj
|
184
|
+
- code: 805
|
185
|
+
name: Regionální rada regionu soudržnosti
|
186
|
+
- code: 811
|
187
|
+
name: Městská část, městský obvod
|
188
|
+
- code: 901
|
189
|
+
name: Zastupitelský orgán jiných států
|
190
|
+
- code: 906
|
191
|
+
name: Zahraniční spolek
|
192
|
+
- code: 907
|
193
|
+
name: Mezinárodní odborová organizace
|
194
|
+
- code: 908
|
195
|
+
name: Mezinárodní organizace zaměstnavatelů
|
196
|
+
- code: 911
|
197
|
+
name: Zahraniční kulturní, informační středisko, rozhlasová, tisková a televizní agentura
|
198
|
+
- code: 921
|
199
|
+
name: Mezinárodní organizace a sdružení
|
200
|
+
- code: 922
|
201
|
+
name: Organizační jednotka organizace s mezinárodním prvkem
|
202
|
+
- code: 931
|
203
|
+
name: Evropské hospodářské zájmové sdružení
|
204
|
+
- code: 932
|
205
|
+
name: Evropská společnost
|
206
|
+
- code: 933
|
207
|
+
name: Evropská družstevní společnost
|
208
|
+
- code: 936
|
209
|
+
name: Zahraniční pobočný spolek
|
210
|
+
- code: 937
|
211
|
+
name: Pobočná mezinárodní odborová organizace
|
212
|
+
- code: 938
|
213
|
+
name: Pobočná mezinárodní organizace zaměstnavatelů
|
214
|
+
- code: 941
|
215
|
+
name: Evropské seskupení pro územní spolupráci
|
216
|
+
- code: 950
|
217
|
+
name: Subjekt právním řádem výslovně neupravený
|
218
|
+
- code: 960
|
219
|
+
name: Právnická osoba zřízená zvláštním zákonem zapisovaná do veřejného rejstříku
|
220
|
+
- code: 961
|
221
|
+
name: Svěřenský fond
|
222
|
+
- code: 962
|
223
|
+
name: Zahraniční svěřenský fond
|
@@ -0,0 +1,26 @@
|
|
1
|
+
religions:
|
2
|
+
- křesťanství
|
3
|
+
- katolictví
|
4
|
+
- evangelictví
|
5
|
+
- protestantismus
|
6
|
+
- pravoslaví
|
7
|
+
- judaismus
|
8
|
+
- islám
|
9
|
+
- buddhismus
|
10
|
+
- tibetský buddhismus (vadžrajána)
|
11
|
+
- mahájána
|
12
|
+
- Zen
|
13
|
+
- Čchan
|
14
|
+
- théraváda
|
15
|
+
- hinduismus
|
16
|
+
- novopohanský rekonstrukcionismus
|
17
|
+
- slovanský
|
18
|
+
- germánský (Ásatrú)
|
19
|
+
- keltský (druidismus)
|
20
|
+
- eklektické novopohanství
|
21
|
+
- neodruidismus
|
22
|
+
- Wicca
|
23
|
+
- scientologie
|
24
|
+
- hnutí Haré Kršna
|
25
|
+
- jedi
|
26
|
+
- sith
|
@@ -0,0 +1,184 @@
|
|
1
|
+
new_regions:
|
2
|
+
- code: A
|
3
|
+
region: Praha
|
4
|
+
- code: B
|
5
|
+
region: Jihomoravský kraj (Brno)
|
6
|
+
- code: C
|
7
|
+
region: Jihočeský kraj (České Budějovice)
|
8
|
+
- code: E
|
9
|
+
region: Pardubický kraj
|
10
|
+
- code: H
|
11
|
+
region: Královéhradecký kraj
|
12
|
+
- code: J
|
13
|
+
region: Kraj Vysočina (Jihlava)
|
14
|
+
- code: K
|
15
|
+
region: Karlovarský kraj
|
16
|
+
- code: L
|
17
|
+
region: Liberecký kraj
|
18
|
+
- code: M
|
19
|
+
region: Olomoucký kraj
|
20
|
+
- code: P
|
21
|
+
region: Plzeňský kraj
|
22
|
+
- code: S
|
23
|
+
region: Středočeský kraj
|
24
|
+
- code: T
|
25
|
+
region: Moravskoslezský kraj (Ostrava)
|
26
|
+
- code: U
|
27
|
+
region: Ústecký kraj
|
28
|
+
- code: Z
|
29
|
+
region: Zlínský kraj
|
30
|
+
old_regions:
|
31
|
+
- code: A
|
32
|
+
region: Praha
|
33
|
+
- code: BE
|
34
|
+
region: Beroun
|
35
|
+
- code: [ BI, BO ]
|
36
|
+
region: Brno - venkov
|
37
|
+
- code: BK
|
38
|
+
region: Blansko
|
39
|
+
- code: [ BM, BS, BZ ]
|
40
|
+
region: Brno - město
|
41
|
+
- code: BN
|
42
|
+
region: Benešov
|
43
|
+
- code: BR
|
44
|
+
region: Bruntál
|
45
|
+
- code: BV
|
46
|
+
region: Břeclav
|
47
|
+
- code: [ CB, CE ]
|
48
|
+
region: České Budějovice
|
49
|
+
- code: CH
|
50
|
+
region: Cheb
|
51
|
+
- code: CK
|
52
|
+
region: Český Krumlov
|
53
|
+
- code: CL
|
54
|
+
region: Česká Lípa
|
55
|
+
- code: CR
|
56
|
+
region: Chrudim
|
57
|
+
- code: CV
|
58
|
+
region: Chomutov
|
59
|
+
- code: DC
|
60
|
+
region: Děčín
|
61
|
+
- code: DO
|
62
|
+
region: Domažlice
|
63
|
+
- code: [ FI, FM ]
|
64
|
+
region: Frýdek-Místek
|
65
|
+
- code: HB
|
66
|
+
region: Havlíčkův Brod
|
67
|
+
- code: [ HK, HR ]
|
68
|
+
region: Hradec Králové
|
69
|
+
- code: HO
|
70
|
+
region: Hodonín
|
71
|
+
- code: JC
|
72
|
+
region: Jičín
|
73
|
+
- code: JE
|
74
|
+
region: Jeseník
|
75
|
+
- code: JH
|
76
|
+
region: Jindřichův Hradec
|
77
|
+
- code: JI
|
78
|
+
region: Jihlava
|
79
|
+
- code: JN
|
80
|
+
region: Jablonec nad Nisou
|
81
|
+
- code: [ KA, KI ]
|
82
|
+
region: Karviná
|
83
|
+
- code: [ KD, KL ]
|
84
|
+
region: Kladno
|
85
|
+
- code: KH
|
86
|
+
region: Kutná Hora
|
87
|
+
- code: KM
|
88
|
+
region: Kroměříž
|
89
|
+
- code: KO
|
90
|
+
region: Kolín
|
91
|
+
- code: [ KR, KV ]
|
92
|
+
region: Karlovy Vary
|
93
|
+
- code: KT
|
94
|
+
region: Klatovy
|
95
|
+
- code: [ LB, LI ]
|
96
|
+
region: Liberec
|
97
|
+
- code: LN
|
98
|
+
region: Louny
|
99
|
+
- code: LT
|
100
|
+
region: Litoměřice
|
101
|
+
- code: MB
|
102
|
+
region: Mladá Boleslav
|
103
|
+
- code: ME
|
104
|
+
region: Mělník
|
105
|
+
- code: MO
|
106
|
+
region: Most
|
107
|
+
- code: NA
|
108
|
+
region: Náchod
|
109
|
+
- code: NB
|
110
|
+
region: Nymburk
|
111
|
+
- code: NJ
|
112
|
+
region: Nový Jičín
|
113
|
+
- code: [ OC, OL, OM ]
|
114
|
+
region: Olomouc
|
115
|
+
- code: OP
|
116
|
+
region: Opava
|
117
|
+
- code: [ OS, OT, OV ]
|
118
|
+
region: Ostrava
|
119
|
+
- code: [ PA, PU ]
|
120
|
+
region: Pardubice
|
121
|
+
- code: PB
|
122
|
+
region: Příbram
|
123
|
+
- code: [ PC, PZ ]
|
124
|
+
region: Praha - západ
|
125
|
+
- code: PE
|
126
|
+
region: Pelhřimov
|
127
|
+
- code: [ PH, PY ]
|
128
|
+
region: Praha - východ
|
129
|
+
- code: PI
|
130
|
+
region: Písek
|
131
|
+
- code: PJ
|
132
|
+
region: Plzeň - jih
|
133
|
+
- code: [ PM, PN ]
|
134
|
+
region: Plzeň - město
|
135
|
+
- code: PR
|
136
|
+
region: Přerov
|
137
|
+
- code: PS
|
138
|
+
region: Plzeň - sever
|
139
|
+
- code: PT
|
140
|
+
region: Prachatice
|
141
|
+
- code: PV
|
142
|
+
region: Prostějov
|
143
|
+
- code: RA
|
144
|
+
region: Rakovník
|
145
|
+
- code: RK
|
146
|
+
region: Rychnov nad Kněžnou
|
147
|
+
- code: RO
|
148
|
+
region: Rokycany
|
149
|
+
- code: SM
|
150
|
+
region: Semily
|
151
|
+
- code: SO
|
152
|
+
region: Sokolov
|
153
|
+
- code: ST
|
154
|
+
region: Strakonice
|
155
|
+
- code: SU
|
156
|
+
region: Šumperk
|
157
|
+
- code: SY
|
158
|
+
region: Svitavy
|
159
|
+
- code: TA
|
160
|
+
region: Tábor
|
161
|
+
- code: TC
|
162
|
+
region: Tachov
|
163
|
+
- code: TP
|
164
|
+
region: Teplice
|
165
|
+
- code: TR
|
166
|
+
region: Třebíč
|
167
|
+
- code: TU
|
168
|
+
region: Trutnov
|
169
|
+
- code: UH
|
170
|
+
region: Uherské Hradiště
|
171
|
+
- code: [ UL, US ]
|
172
|
+
region: Ústí nad Labem
|
173
|
+
- code: UO
|
174
|
+
region: Ústí nad Orlicí
|
175
|
+
- code: VS
|
176
|
+
region: Vsetín
|
177
|
+
- code: VY
|
178
|
+
region: Vyškov
|
179
|
+
- code: [ ZL, GT ]
|
180
|
+
region: Zlín (dříve Gottwaldov)
|
181
|
+
- code: ZN
|
182
|
+
region: Znojmo
|
183
|
+
- code: ZR
|
184
|
+
region: žďár nad Sázavou
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cz_faker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jindrich Skupa (@eMan)
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -120,6 +120,7 @@ files:
|
|
120
120
|
- lib/cz_faker/address.rb
|
121
121
|
- lib/cz_faker/bank.rb
|
122
122
|
- lib/cz_faker/company.rb
|
123
|
+
- lib/cz_faker/data.rb
|
123
124
|
- lib/cz_faker/date.rb
|
124
125
|
- lib/cz_faker/energy.rb
|
125
126
|
- lib/cz_faker/name.rb
|
@@ -129,10 +130,15 @@ files:
|
|
129
130
|
- lib/cz_faker/phone_number.rb
|
130
131
|
- lib/cz_faker/validator/bank.rb
|
131
132
|
- lib/cz_faker/validator/company.rb
|
133
|
+
- lib/cz_faker/validator/energy.rb
|
132
134
|
- lib/cz_faker/validator/person.rb
|
135
|
+
- lib/cz_faker/vehicle.rb
|
133
136
|
- lib/data/address.yaml
|
134
137
|
- lib/data/bank.yaml
|
138
|
+
- lib/data/company.yaml
|
135
139
|
- lib/data/name.yaml
|
140
|
+
- lib/data/person.yaml
|
141
|
+
- lib/data/vehicle.yaml
|
136
142
|
homepage: http://rubygems.org/gems/cz_faker
|
137
143
|
licenses:
|
138
144
|
- MIT
|