cz_faker 0.0.1 → 0.0.3
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/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
|