cz_faker 0.0.5 → 0.0.6
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/bank.rb +11 -0
- data/lib/cz_faker/data.rb +7 -6
- data/lib/cz_faker/date.rb +1 -1
- data/lib/cz_faker/energy.rb +4 -4
- data/lib/cz_faker/person.rb +2 -0
- data/lib/cz_faker/validator/bank.rb +8 -0
- data/lib/cz_faker/validator/energy.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abc5bfb80d38eb5d23d5d924f9969070af3921fe
|
4
|
+
data.tar.gz: 7e21c76fcc5db2ae9a2aa5f4c03be17026d03ae8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e66154181d299f25a0d8f684f5dbc979f29ccc9a27eedcad7f66e8ee10623d8ac9866770be4949f4792f70fcdb49aabf85b452f5818852a5a17379eaa1add9b
|
7
|
+
data.tar.gz: 5b98a68023fa97f5007c96ae384dcbf0a08688ffe4700c4289e8a30219ed906f5525cbce3976ee7450452dc0a2876f2e7fb590d68b367e5badb2e2e943efc44f
|
data/lib/cz_faker/bank.rb
CHANGED
@@ -49,6 +49,17 @@ module CzFaker
|
|
49
49
|
credit_card(type).chars.each_slice(4).map(&:join).join(" ")
|
50
50
|
end
|
51
51
|
|
52
|
+
def sipo
|
53
|
+
base = []
|
54
|
+
sum = 0
|
55
|
+
CzFaker::Data::SIPO_NUMBER_WEIGHTS.each do |weight|
|
56
|
+
base << Number.integer(1).to_i
|
57
|
+
sum += (weight * base.last)
|
58
|
+
end
|
59
|
+
base << (10 - (sum % 10)) % 10
|
60
|
+
base.join.to_i.to_s
|
61
|
+
end
|
62
|
+
|
52
63
|
private
|
53
64
|
|
54
65
|
def load_codes
|
data/lib/cz_faker/data.rb
CHANGED
@@ -5,15 +5,15 @@ module CzFaker
|
|
5
5
|
EAN_LENGTH = 18
|
6
6
|
EIC_LENGTH = 16
|
7
7
|
GAS_DISTRIBUTORS = [
|
8
|
-
{ name: "RWE GasNet", code:
|
9
|
-
{ name: "E.ON Distribuce", code:
|
10
|
-
{ name: "Pražská Plynárenská", code:
|
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
11
|
].freeze
|
12
12
|
GAS_TYPES = %w[ N Z V ].freeze
|
13
13
|
ELECTRICITY_DISTRIBUTORS = [
|
14
|
-
{ name: "ČEZ Distribuce", code:
|
15
|
-
{ name: "E.ON Distribuce", code:
|
16
|
-
{ name: "PREdistribuce", code:
|
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
17
|
].freeze
|
18
18
|
COMODITIES = %w[ plyn elektřina ].freeze
|
19
19
|
|
@@ -38,6 +38,7 @@ module CzFaker
|
|
38
38
|
}.freeze
|
39
39
|
CARD_TYPES = %i[ visa maestro master_card ].freeze
|
40
40
|
ACCOUNT_NUMBER_WEIGHTS = [ 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ].freeze
|
41
|
+
SIPO_NUMBER_WEIGHTS = [3, 7, 3, 1, 7, 3, 1, 7, 3].freeze
|
41
42
|
|
42
43
|
# PHONE NUMBER
|
43
44
|
CELL_PREFIXES = ((601..608).to_a + (702..799).to_a).map(&:to_s).freeze
|
data/lib/cz_faker/date.rb
CHANGED
data/lib/cz_faker/energy.rb
CHANGED
@@ -49,7 +49,7 @@ module CzFaker
|
|
49
49
|
return CzFaker::Data::ELECTRICITY_DISTRIBUTORS.sample unless code
|
50
50
|
|
51
51
|
CzFaker::Data::ELECTRICITY_DISTRIBUTORS.each do |dist|
|
52
|
-
return dist if dist[:code] == code
|
52
|
+
return dist if dist[:code] == code.to_sym
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
@@ -57,7 +57,7 @@ module CzFaker
|
|
57
57
|
return CzFaker::Data::GAS_DISTRIBUTORS.sample unless code
|
58
58
|
|
59
59
|
CzFaker::Data::GAS_DISTRIBUTORS.each do |dist|
|
60
|
-
return dist if dist[:code] == code
|
60
|
+
return dist if dist[:code] == code.to_sym
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -74,9 +74,9 @@ module CzFaker
|
|
74
74
|
def eic_char_to_int(char)
|
75
75
|
if char == '-'
|
76
76
|
36
|
77
|
-
elsif char.match(/\A\d+\z/)
|
77
|
+
elsif char.match?(/\A\d+\z/)
|
78
78
|
char.to_i
|
79
|
-
elsif char.match(/\A[A-Za-z]\z/)
|
79
|
+
elsif char.match?(/\A[A-Za-z]\z/)
|
80
80
|
char.upcase.ord - 'A'.ord + 10
|
81
81
|
else
|
82
82
|
-1
|
data/lib/cz_faker/person.rb
CHANGED
@@ -32,6 +32,14 @@ module CzFaker
|
|
32
32
|
code.size == 4
|
33
33
|
end
|
34
34
|
|
35
|
+
def sipo?(sipo_number)
|
36
|
+
sum = 0
|
37
|
+
CzFaker::Data::SIPO_NUMBER_WEIGHTS.each_with_index do |weight, index|
|
38
|
+
sum += sipo_number[index].to_i * weight
|
39
|
+
end
|
40
|
+
(10 - (sum % 10)) % 10 == sipo_number[-1].to_i
|
41
|
+
end
|
42
|
+
|
35
43
|
private
|
36
44
|
|
37
45
|
def credit_card_issuer(card_number)
|
@@ -58,9 +58,9 @@ module CzFaker
|
|
58
58
|
def eic_char_to_int(char)
|
59
59
|
if char == '-'
|
60
60
|
36
|
61
|
-
elsif char.match(/\A\d+\z/)
|
61
|
+
elsif char.match?(/\A\d+\z/)
|
62
62
|
char.to_i
|
63
|
-
elsif char.match(/\A[A-Za-z]\z/)
|
63
|
+
elsif char.match?(/\A[A-Za-z]\z/)
|
64
64
|
char.upcase.ord - 'A'.ord + 10
|
65
65
|
else
|
66
66
|
-1
|