faker 2.13.0 → 2.14.0
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/CHANGELOG.md +49 -0
- data/README.md +4 -0
- data/lib/faker/default/barcode.rb +154 -0
- data/lib/faker/default/code.rb +96 -15
- data/lib/faker/default/driving_licence.rb +23 -0
- data/lib/faker/default/drone.rb +332 -0
- data/lib/faker/games/dnd.rb +89 -14
- data/lib/faker/games/street_fighter.rb +61 -0
- data/lib/faker/version.rb +1 -1
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/unique_generator.rb +0 -2
- data/lib/locales/de-AT.yml +4 -2
- data/lib/locales/de-CH.yml +3 -1
- data/lib/locales/de.yml +4 -2
- data/lib/locales/en-AU.yml +8 -2
- data/lib/locales/en-GB.yml +1 -1
- data/lib/locales/en-IND.yml +2 -1
- data/lib/locales/en-MS.yml +2 -1
- data/lib/locales/en-NEP.yml +4 -1
- data/lib/locales/en-NZ.yml +3 -1
- data/lib/locales/en-PAK.yml +2 -1
- data/lib/locales/en-SG.yml +2 -1
- data/lib/locales/en-US.yml +10 -10
- data/lib/locales/en-au-ocker.yml +2 -1
- data/lib/locales/en.yml +0 -3
- data/lib/locales/en/animal.yml +1 -1
- data/lib/locales/en/barcode.yml +24 -0
- data/lib/locales/en/dnd.yml +430 -33
- data/lib/locales/en/driving_license.yml +178 -0
- data/lib/locales/en/drone.yml +95 -0
- data/lib/locales/en/name.yml +2 -2
- data/lib/locales/en/street_fighter.yml +1524 -0
- data/lib/locales/fi-FI.yml +1 -1
- data/lib/locales/fr-CA.yml +19 -5
- data/lib/locales/fr-CH.yml +2 -2
- data/lib/locales/fr.yml +8 -2
- data/lib/locales/id.yml +2 -1
- data/lib/locales/it.yml +2 -1
- data/lib/locales/ko.yml +34 -24
- data/lib/locales/nb-NO.yml +4 -2
- data/lib/locales/pt.yml +3 -1
- data/lib/locales/ru.yml +3 -1
- data/lib/locales/sk.yml +4 -2
- metadata +13 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c20404a4d9474978940db437ddac9984deddd352fdf7cf9313d038a7e9c0ce54
|
|
4
|
+
data.tar.gz: d52491d45e9dbc7525cf078789e84c10219d2c8e428de4541a1e73dfa6246569
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee17e0c0333a8e5456d167ed3f7ccc26be29c5f95efdcf6aa866cc2b80789afb95a910922af3405f9d3484b0c266c5217fa40fb593c08eefcc8aab0159b83f91
|
|
7
|
+
data.tar.gz: 66fa28264c8fbe299c025e6bd566a55870fd9059bda1863dfbe3d03c7fe56a176f04432c784f3d1a079429bb375cc18c56da6d38341b2167edce1f3abbae9074
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v2.14.0](https://github.com/faker-ruby/faker/tree/v2.14.0) (2020-09-15)
|
|
4
|
+
|
|
5
|
+
## Bug/Fixes
|
|
6
|
+
|
|
7
|
+
- [PR #2119](https://github.com/faker-ruby/faker/pull/2119) Fixed failing spec for phone number
|
|
8
|
+
|
|
9
|
+
## Chores
|
|
10
|
+
|
|
11
|
+
- [PR #2088](https://github.com/faker-ruby/faker/pull/2088) Remove the space in the word "turtle" in the Creature::Animals faker
|
|
12
|
+
- [PR #2081](https://github.com/faker-ruby/faker/pull/2081) Remove redundant condition branch for Ruby 2.4
|
|
13
|
+
- [PR #2077](https://github.com/faker-ruby/faker/pull/2077) Rename tests according to the `test*.rb` pattern so that they run
|
|
14
|
+
|
|
15
|
+
## Documentation
|
|
16
|
+
|
|
17
|
+
- [PR #2095](https://github.com/faker-ruby/faker/pull/2095) Fix a typo for `Games::DnD.species`
|
|
18
|
+
- [PR #2094](https://github.com/faker-ruby/faker/pull/2094) Correct method name from race to species in DnD doc
|
|
19
|
+
- [PR #2079](https://github.com/faker-ruby/faker/pull/2079) Add `Music::PearlJam` to Readme
|
|
20
|
+
- [PR #2058](https://github.com/faker-ruby/faker/pull/2058) Add YARD doc for `Faker::Code`
|
|
21
|
+
|
|
22
|
+
## Feature Request
|
|
23
|
+
|
|
24
|
+
- [PR #2117](https://github.com/faker-ruby/faker/pull/2117) Add Truffleruby head to CI
|
|
25
|
+
- [PR #2104](https://github.com/faker-ruby/faker/pull/2104) 2097 Added barcodes
|
|
26
|
+
- [PR #2090](https://github.com/faker-ruby/faker/pull/2090) 1693 USA driving license
|
|
27
|
+
- [PR #2098](https://github.com/faker-ruby/faker/pull/2098) Update DnD generator
|
|
28
|
+
- [PR #2096](https://github.com/faker-ruby/faker/pull/2096) 2091 faker drones
|
|
29
|
+
- [PR #2092](https://github.com/faker-ruby/faker/pull/2092) Add a street fighter generator
|
|
30
|
+
- [PR #2082](https://github.com/faker-ruby/faker/pull/2082) Enable `Lint/UnifiedInteger` cop
|
|
31
|
+
|
|
32
|
+
## Update locales
|
|
33
|
+
|
|
34
|
+
- [PR #2100](https://github.com/faker-ruby/faker/pull/2100) Remove Gaylord
|
|
35
|
+
- [PR #2087](https://github.com/faker-ruby/faker/pull/2087) Fix/remove country code from phone numbers
|
|
36
|
+
- [PR #2086](https://github.com/faker-ruby/faker/pull/2086) removing country code from phone numbers to `fr-CH`
|
|
37
|
+
- [PR #2084](https://github.com/faker-ruby/faker/pull/2084) removed extra + sign from country codes
|
|
38
|
+
- [PR #2078](https://github.com/faker-ruby/faker/pull/2078) Removed 07624 from UK mobile numbers
|
|
39
|
+
- [PR #2073](https://github.com/faker-ruby/faker/pull/2073) Add missing azimuth field for fr locale
|
|
40
|
+
- [PR #2072](https://github.com/faker-ruby/faker/pull/2072) Remove time formats from file
|
|
41
|
+
|
|
42
|
+
Update local dependencies
|
|
43
|
+
|
|
44
|
+
- Update rubocop requirement from = 0.87.1 to = 0.88.0 (#2080)
|
|
45
|
+
- Update rubocop requirement from = 0.87.0 to = 0.87.1 (#2075)
|
|
46
|
+
- Update rubocop requirement from = 0.86.0 to = 0.87.0 (#2074)
|
|
47
|
+
- Bumps i18n from 1.8.4 to 1.8.5 (#2089)
|
|
48
|
+
- Bumps i18n from 1.8.3 to 1.8.4 (#2083)
|
|
49
|
+
|
|
50
|
+
------------------------------------------------------------------------------
|
|
51
|
+
|
|
3
52
|
## [v2.13.0](https://github.com/faker-ruby/faker/tree/v2.13.0) (2020-06-24)
|
|
4
53
|
|
|
5
54
|
This version:
|
data/README.md
CHANGED
|
@@ -130,6 +130,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
|
130
130
|
- [Faker::Artist](doc/default/artist.md)
|
|
131
131
|
- [Faker::Avatar](doc/default/avatar.md)
|
|
132
132
|
- [Faker::Bank](doc/default/bank.md)
|
|
133
|
+
- [Faker::Barcode](doc/default/barcode.md)
|
|
133
134
|
- [Faker::Beer](doc/default/beer.md)
|
|
134
135
|
- [Faker::Blood](doc/default/blood.md)
|
|
135
136
|
- [Faker::Boolean](doc/default/boolean.md)
|
|
@@ -157,6 +158,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
|
157
158
|
- [Faker::Dessert](doc/default/dessert.md)
|
|
158
159
|
- [Faker::Device](doc/default/device.md)
|
|
159
160
|
- [Faker::DrivingLicence](doc/default/driving_licence.md)
|
|
161
|
+
- [Faker::Drone](doc/drone/drone.md)
|
|
160
162
|
- [Faker::Educator](doc/default/educator.md)
|
|
161
163
|
- [Faker::ElectricalComponents](doc/default/electrical_components.md)
|
|
162
164
|
- [Faker::Esport](doc/default/esport.md)
|
|
@@ -245,6 +247,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
|
245
247
|
- [Faker::Games::Overwatch](doc/games/overwatch.md)
|
|
246
248
|
- [Faker::Games::Pokemon](doc/games/pokemon.md)
|
|
247
249
|
- [Faker::Games::SonicTheHedgehog](doc/games/sonic_the_hedgehog.md)
|
|
250
|
+
- [Faker::Games::StreetFighter](doc/games/street_fighter.md)
|
|
248
251
|
- [Faker::Games::SuperSmashBros](doc/games/super_smash_bros.md)
|
|
249
252
|
- [Faker::Games::WarhammerFantasy](doc/games/warhammer_fantasy.md)
|
|
250
253
|
- [Faker::Games::Witcher](doc/games/witcher.md)
|
|
@@ -274,6 +277,7 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'mast
|
|
|
274
277
|
- [Faker::Music](doc/music/music.md)
|
|
275
278
|
- [Faker::Music::GratefulDead](doc/music/grateful_dead.md)
|
|
276
279
|
- [Faker::Music::Opera](doc/music/opera.md)
|
|
280
|
+
- [Faker::Music::PearlJam](doc/music/pearl_jam.md)
|
|
277
281
|
- [Faker::Music::Phish](doc/music/phish.md)
|
|
278
282
|
- [Faker::Music::Prince](doc/music/prince.md)
|
|
279
283
|
- [Faker::Music::RockBand](doc/music/rock_band.md)
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
class Barcode < Base
|
|
5
|
+
class << self
|
|
6
|
+
## Returns a EAN 8 or 13 digit format barcode number with check digit
|
|
7
|
+
# @returns [String]
|
|
8
|
+
#
|
|
9
|
+
# @example
|
|
10
|
+
# Faker::Barcode.ean => "85657526"
|
|
11
|
+
# Faker::Barcode.ean(8) => "30152700"
|
|
12
|
+
# Faker::Barcode.ean(13) => "2115190480285"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version next
|
|
15
|
+
def ean(length = 8)
|
|
16
|
+
generate_barcode("barcode.ean_#{Integer(length)}")
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
## Returns a EAN 8 or 13 digit format barcode number with composite string attached with check digit
|
|
20
|
+
# @returns [String]
|
|
21
|
+
#
|
|
22
|
+
# @example
|
|
23
|
+
# Faker::Barcode.ean_with_composite_sumbology => "41007624|JHOC6649"
|
|
24
|
+
# Faker::Barcode.ean_with_composite_sumbology(8) => "38357961|XUYJ3266"
|
|
25
|
+
# Faker::Barcode.ean_with_composite_sumbology(13) => "9530722443911|CKHWQHID"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version next
|
|
28
|
+
def ean_with_composite_symbology(length = 8)
|
|
29
|
+
"#{ean(length)}|#{bothify(parse('barcode.composite_symbol'))}"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
## Returns a UPC_A format barcode number with check digit
|
|
33
|
+
# @returns [String]
|
|
34
|
+
#
|
|
35
|
+
# @example
|
|
36
|
+
# Faker::Barcode.upc_a => "766807541831"
|
|
37
|
+
#
|
|
38
|
+
# @faker.version next
|
|
39
|
+
def upc_a
|
|
40
|
+
generate_barcode('barcode.upc_a')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
## Returns a UPC_E format barcode number with check digit
|
|
44
|
+
# @returns [String]
|
|
45
|
+
#
|
|
46
|
+
# @example
|
|
47
|
+
# Faker::Barcode.upc_e => "03746820"
|
|
48
|
+
#
|
|
49
|
+
# @faker.version next
|
|
50
|
+
def upc_e
|
|
51
|
+
generate_barcode('barcode.upc_e')
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
## Returns a UPC_A format barcode number with composite string attached with check digit
|
|
55
|
+
# @returns [String]
|
|
56
|
+
#
|
|
57
|
+
# @example
|
|
58
|
+
# Faker::Barcode.upc_a_with_composite_symbology => "790670155765|JOVG6208"
|
|
59
|
+
#
|
|
60
|
+
# @faker.version next
|
|
61
|
+
def upc_a_with_composite_symbology
|
|
62
|
+
"#{upc_a}|#{bothify(parse('barcode.composite_symbol'))}"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
## Returns a UPC_E format barcode number with composite string attached with check digit
|
|
66
|
+
# @returns [String]
|
|
67
|
+
#
|
|
68
|
+
# @example
|
|
69
|
+
# Faker::Barcode.upc_e_with_composite_symbology => "05149247|BKZX9722"
|
|
70
|
+
#
|
|
71
|
+
# @faker.version next
|
|
72
|
+
def upc_e_with_composite_symbology
|
|
73
|
+
"#{upc_e}|#{bothify(parse('barcode.composite_symbol'))}"
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
## Returns a ISBN format barcode number with check digit
|
|
77
|
+
# @returns [String]
|
|
78
|
+
#
|
|
79
|
+
# @example
|
|
80
|
+
# Faker::Barcode.isbn => "9798363807732"
|
|
81
|
+
#
|
|
82
|
+
# @faker.version next
|
|
83
|
+
def isbn
|
|
84
|
+
generate_barcode('barcode.isbn')
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
## Returns a ISMN format barcode number with check digit
|
|
88
|
+
# @returns [String]
|
|
89
|
+
#
|
|
90
|
+
# @example
|
|
91
|
+
# Faker::Barcode.ismn => "9790527672897"
|
|
92
|
+
#
|
|
93
|
+
# @faker.version next
|
|
94
|
+
def ismn
|
|
95
|
+
generate_barcode('barcode.ismn')
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
## Returns a ISSN format barcode number with check digit
|
|
99
|
+
# @returns [String]
|
|
100
|
+
#
|
|
101
|
+
# @example
|
|
102
|
+
# Faker::Barcode.issn => "9775541703338"
|
|
103
|
+
#
|
|
104
|
+
# @faker.version next
|
|
105
|
+
def issn
|
|
106
|
+
generate_barcode('barcode.issn')
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
private
|
|
110
|
+
|
|
111
|
+
def generate_barcode(key)
|
|
112
|
+
barcode = parse(key)
|
|
113
|
+
check_digit = generate_check_digit(*sum_even_odd(barcode))
|
|
114
|
+
"#{barcode}#{check_digit}"
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
## Returns the sum of even and odd numbers from value passed
|
|
118
|
+
#
|
|
119
|
+
# @returns [Array]
|
|
120
|
+
#
|
|
121
|
+
# @example
|
|
122
|
+
# Faker::Barcode.send(:sum_even_odd, 12345) => [9, 5]
|
|
123
|
+
# Faker::Barcode.send(:sum_even_odd, 87465) => [17, 13]
|
|
124
|
+
#
|
|
125
|
+
# @faker.version next
|
|
126
|
+
def sum_even_odd(fake_num)
|
|
127
|
+
number = fake_num.to_i
|
|
128
|
+
sum_even, sum_odd = 0, 0, index = 1
|
|
129
|
+
|
|
130
|
+
while number != 0
|
|
131
|
+
index.even? ? sum_even += number % 10 : sum_odd += number % 10
|
|
132
|
+
|
|
133
|
+
number /= 10
|
|
134
|
+
index += 1
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
[sum_odd, sum_even]
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
## Generates the check digits from sum passed
|
|
141
|
+
#
|
|
142
|
+
# @returns [Integer]
|
|
143
|
+
#
|
|
144
|
+
# @example
|
|
145
|
+
# Faker::Barcode.send(:generate_check_digit, 12, 4) => 0
|
|
146
|
+
# Faker::Barcode.send(:generate_check_digit, 23, 5) => 6
|
|
147
|
+
#
|
|
148
|
+
# @faker.version next
|
|
149
|
+
def generate_check_digit(odd_sum, even_sum)
|
|
150
|
+
(10 - (odd_sum * 3 + even_sum) % 10) % 10
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
data/lib/faker/default/code.rb
CHANGED
|
@@ -4,32 +4,76 @@ module Faker
|
|
|
4
4
|
class Code < Base
|
|
5
5
|
flexible :code
|
|
6
6
|
class << self
|
|
7
|
-
|
|
8
|
-
#
|
|
7
|
+
##
|
|
8
|
+
# Produces a random NPI (National Provider Identifer) code.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Code.npi #=> "9804062802"
|
|
14
|
+
#
|
|
15
|
+
# @faker.version 1.9.4
|
|
9
16
|
def npi
|
|
10
17
|
rand(10**10).to_s.rjust(10, '0')
|
|
11
18
|
end
|
|
12
19
|
|
|
13
|
-
|
|
14
|
-
#
|
|
20
|
+
##
|
|
21
|
+
# Produces a random ISBN (International Standard Book Number) code.
|
|
22
|
+
#
|
|
23
|
+
# @param base [Integer] the length of the code to generate (either 10 or 13)
|
|
24
|
+
# @return [String]
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# Faker::Code.isbn(base: 13) #=> "896579606969-8"
|
|
28
|
+
# @example
|
|
29
|
+
# Faker::Code.isbn #=> "170366802-2"
|
|
30
|
+
#
|
|
31
|
+
# @faker.version 2.2.0
|
|
15
32
|
def isbn(legacy_base = NOT_GIVEN, base: 10)
|
|
16
33
|
warn_for_deprecated_arguments do |keywords|
|
|
17
34
|
keywords << :base if legacy_base != NOT_GIVEN
|
|
18
35
|
end
|
|
19
36
|
|
|
20
|
-
base
|
|
37
|
+
case base
|
|
38
|
+
when 10 then generate_base10_isbn
|
|
39
|
+
when 13 then generate_base13_isbn
|
|
40
|
+
else raise ArgumentError, 'base must be 10 or 13'
|
|
41
|
+
end
|
|
21
42
|
end
|
|
22
43
|
|
|
23
|
-
|
|
24
|
-
#
|
|
44
|
+
##
|
|
45
|
+
# Produces a random EAN (European Article Number) code.
|
|
46
|
+
#
|
|
47
|
+
# @param base [Integer] the length of the code to generate (either 8 or 13)
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::Code.ean(base: 8) #=> "36941070"
|
|
52
|
+
# @example
|
|
53
|
+
# Faker::Code.ean #=> "9941880131907"
|
|
54
|
+
#
|
|
55
|
+
# @faker.version 2.2.0
|
|
25
56
|
def ean(legacy_base = NOT_GIVEN, base: 13)
|
|
26
57
|
warn_for_deprecated_arguments do |keywords|
|
|
27
58
|
keywords << :base if legacy_base != NOT_GIVEN
|
|
28
59
|
end
|
|
29
60
|
|
|
30
|
-
base
|
|
61
|
+
case base
|
|
62
|
+
when 8 then generate_base8_ean
|
|
63
|
+
when 13 then generate_base13_ean
|
|
64
|
+
else raise ArgumentError, 'base must be 3 or 13'
|
|
65
|
+
end
|
|
31
66
|
end
|
|
32
67
|
|
|
68
|
+
##
|
|
69
|
+
# Produces a random RUT (Rol Unico Nacional) code.
|
|
70
|
+
#
|
|
71
|
+
# @return [String]
|
|
72
|
+
#
|
|
73
|
+
# @example
|
|
74
|
+
# Faker::Code.rut #=> "91611842-2"
|
|
75
|
+
#
|
|
76
|
+
# @faker.version 1.9.4
|
|
33
77
|
def rut
|
|
34
78
|
value = Number.number(digits: 8).to_s
|
|
35
79
|
vd = rut_verificator_digit(value)
|
|
@@ -38,6 +82,23 @@ module Faker
|
|
|
38
82
|
|
|
39
83
|
# By default generates a Singaporean NRIC ID for someone
|
|
40
84
|
# who is born between the age of 18 and 65.
|
|
85
|
+
#
|
|
86
|
+
# Produces a random NRIC (National Registry Identity Card) code.
|
|
87
|
+
#
|
|
88
|
+
# @param min_age [Integer] the min age of the person in years
|
|
89
|
+
# @param max_age [Integer] the max age of the person in years
|
|
90
|
+
# @return [String]
|
|
91
|
+
#
|
|
92
|
+
# @example
|
|
93
|
+
# Faker::Code.nric(min_age: 25, max_age: 50) #=> "S9347283G"
|
|
94
|
+
# @example
|
|
95
|
+
# Faker::Code.nric(max_age: 55) #=> "S7876903C"
|
|
96
|
+
# @example
|
|
97
|
+
# Faker::Code.nric(min_age: 25) #=> "S6281697Z"
|
|
98
|
+
# @example
|
|
99
|
+
# Faker::Code.nric #=> "S6372958B"
|
|
100
|
+
#
|
|
101
|
+
# @faker.version 2.2.0
|
|
41
102
|
def nric(legacy_min_age = NOT_GIVEN, legacy_max_age = NOT_GIVEN, min_age: 18, max_age: 65)
|
|
42
103
|
warn_for_deprecated_arguments do |keywords|
|
|
43
104
|
keywords << :min_age if legacy_min_age != NOT_GIVEN
|
|
@@ -52,19 +113,41 @@ module Faker
|
|
|
52
113
|
"#{prefix}#{values}#{check_alpha}"
|
|
53
114
|
end
|
|
54
115
|
|
|
55
|
-
|
|
116
|
+
##
|
|
117
|
+
# Produces a random IMEI (International Mobile Equipment Number) code.
|
|
118
|
+
#
|
|
119
|
+
# @return [String]
|
|
120
|
+
#
|
|
121
|
+
# @example
|
|
122
|
+
# Faker::Code.imei #=> "492033129092256"
|
|
123
|
+
#
|
|
124
|
+
# @faker.version 1.9.4
|
|
56
125
|
def imei
|
|
57
126
|
generate_imei
|
|
58
127
|
end
|
|
59
128
|
|
|
60
|
-
|
|
61
|
-
# https://archive.org/details/asin_listing
|
|
129
|
+
##
|
|
130
|
+
# Retrieves a real Amazon ASIN code from https://archive.org/details/asin_listing
|
|
131
|
+
#
|
|
132
|
+
# @return [String]
|
|
133
|
+
#
|
|
134
|
+
# @example
|
|
135
|
+
# Faker::Code.asin #=> "B000MZW1GE"
|
|
136
|
+
#
|
|
137
|
+
# @faker.version 1.9.4
|
|
62
138
|
def asin
|
|
63
139
|
fetch('code.asin')
|
|
64
140
|
end
|
|
65
141
|
|
|
66
|
-
|
|
67
|
-
#
|
|
142
|
+
##
|
|
143
|
+
# Produces a random SIN (Social Insurance Number for Canada) code.
|
|
144
|
+
#
|
|
145
|
+
# @return [String]
|
|
146
|
+
#
|
|
147
|
+
# @example
|
|
148
|
+
# Faker::Code.sin #=> "996586962"
|
|
149
|
+
#
|
|
150
|
+
# @faker.version 1.9.4
|
|
68
151
|
def sin
|
|
69
152
|
# 1 - province or temporary resident
|
|
70
153
|
# 2-8 - random numbers
|
|
@@ -90,8 +173,6 @@ module Faker
|
|
|
90
173
|
def generate_imei
|
|
91
174
|
str = Array.new(15, 0)
|
|
92
175
|
sum = 0
|
|
93
|
-
t = 0
|
|
94
|
-
len_offset = 0
|
|
95
176
|
len = 15
|
|
96
177
|
|
|
97
178
|
# Fill in the first two values of the string based with the specified prefix.
|
|
@@ -78,6 +78,23 @@ module Faker
|
|
|
78
78
|
end
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
+
##
|
|
82
|
+
# Produces a random USA driving licence number by state code passed.
|
|
83
|
+
#
|
|
84
|
+
# @return [String]
|
|
85
|
+
#
|
|
86
|
+
# @example
|
|
87
|
+
# Faker::DrivingLicence.usa_driving_licence #=> "V5598249"
|
|
88
|
+
# Faker::DrivingLicence.usa_driving_licence('new mexico') #=> "270692028"
|
|
89
|
+
# Faker::DrivingLicence.usa_driving_licence('New Mexico') #=> "68178637"
|
|
90
|
+
#
|
|
91
|
+
# @faker.version next
|
|
92
|
+
def usa_driving_licence(state = 'California')
|
|
93
|
+
bothify(fetch("driving_licence.usa.#{state.to_s.strip.downcase.gsub(' ', '_')}"))
|
|
94
|
+
rescue I18n::MissingTranslationData => _e
|
|
95
|
+
raise InvalidStatePassed, "Invalid state code passed for USA, '#{state}'"
|
|
96
|
+
end
|
|
97
|
+
|
|
81
98
|
private
|
|
82
99
|
|
|
83
100
|
def random_gender
|
|
@@ -104,4 +121,10 @@ module Faker
|
|
|
104
121
|
end
|
|
105
122
|
end
|
|
106
123
|
end
|
|
124
|
+
|
|
125
|
+
class InvalidStatePassed < StandardError
|
|
126
|
+
def initialize(msg = 'Invalid state code passed')
|
|
127
|
+
super
|
|
128
|
+
end
|
|
129
|
+
end
|
|
107
130
|
end
|