cz_faker 0.0.5 → 0.0.6
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/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
|