Skip to content

Commit 8fa0a8a

Browse files
authored
Merge branch 'master' into master
2 parents 8b78ae6 + 256cf31 commit 8fa0a8a

File tree

3 files changed

+38
-35
lines changed

3 files changed

+38
-35
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Change log itself follows [Keep a CHANGELOG](http://keepachangelog.com) format.
1212
- `Faker.Internet.StatusCode` [[@emmetreza](https://github.com/emmetreza)]
1313

1414
### Changed
15+
- `Faker.Vehicles` add makes and models that are multi-word, refactor existing fns [[jersearls](https://github.com/jersearls)]
1516

1617
- `Faker.Avatar` switch to `https` to prevent redirect [[igas](https://github.com/igas)]
1718

lib/faker/vehicle.ex

+11-11
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ defmodule Faker.Vehicle do
6161
## Examples
6262
6363
iex> Faker.Vehicle.make()
64-
"BMW"
65-
iex> Faker.Vehicle.make()
66-
"Audi"
64+
"Lincoln"
6765
iex> Faker.Vehicle.make()
6866
"Dodge"
6967
iex> Faker.Vehicle.make()
70-
"Ford"
68+
"Chevy"
69+
iex> Faker.Vehicle.make()
70+
"Honda"
7171
"""
7272
@spec make() :: String.t()
7373
localize(:make)
@@ -78,11 +78,11 @@ defmodule Faker.Vehicle do
7878
## Examples
7979
8080
iex> Faker.Vehicle.make_and_model()
81-
"BMW X5"
81+
"Lincoln MKZ"
8282
iex> Faker.Vehicle.make_and_model()
83-
"Dodge Ram"
83+
"Chevy Malibu"
8484
iex> Faker.Vehicle.make_and_model()
85-
"Toyota Prius"
85+
"Ford Focus"
8686
iex> Faker.Vehicle.make_and_model()
8787
"Ford Focus"
8888
"""
@@ -95,13 +95,13 @@ defmodule Faker.Vehicle do
9595
## Examples
9696
9797
iex> Faker.Vehicle.model()
98-
"CR-V"
98+
"Encore"
9999
iex> Faker.Vehicle.model()
100-
"Enclave"
100+
"S5"
101101
iex> Faker.Vehicle.model()
102-
"Encore"
102+
"Fiesta"
103103
iex> Faker.Vehicle.model()
104-
"Verano"
104+
"X1"
105105
"""
106106
@spec model() :: String.t()
107107
localize(:model)

lib/faker/vehicle/en.ex

+26-24
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ defmodule Faker.Vehicle.En do
1616
"Lincoln",
1717
"Buick",
1818
"Honda",
19-
"Nissan"
19+
"Nissan",
20+
"Mercedes-Benz",
21+
"Aston Martin"
2022
]
2123

2224
@models %{
@@ -29,7 +31,9 @@ defmodule Faker.Vehicle.En do
2931
"Lincoln" => ["Navigator", "MKZ", "MKX", "MKS"],
3032
"Buick" => ["Enclave", "Regal", "LaCrosse", "Verano", "Encore", "Riveria"],
3133
"Honda" => ["Accord", "Civic", "CR-V", "Odyssey"],
32-
"Nissan" => ["Rogue", "Juke", "Cube", "Pathfiner", "Versa", "Altima"]
34+
"Nissan" => ["Rogue", "Juke", "Cube", "Pathfinder", "Versa", "Altima"],
35+
"Mercedes-Benz" => ["AMG GLB 35", "B-Class Electric Drive", "G 550 4x4 Squared"],
36+
"Aston Martin" => ["DB AR1 Zagato", "DB7 Vantage", "V8 Vantage S"]
3337
}
3438

3539
@options [
@@ -262,8 +266,11 @@ defmodule Faker.Vehicle.En do
262266
"Tire pressure monitoring display"
263267
]
264268

269+
@spec all_models :: [String.t()]
265270
defp all_models do
266-
Enum.reduce(Map.values(@models), [], fn models, acc -> acc ++ models end)
271+
@models
272+
|> Map.values()
273+
|> Enum.concat()
267274
end
268275

269276
@doc """
@@ -341,13 +348,13 @@ defmodule Faker.Vehicle.En do
341348
## Examples
342349
343350
iex> Faker.Vehicle.En.make()
344-
"BMW"
345-
iex> Faker.Vehicle.En.make()
346-
"Audi"
351+
"Lincoln"
347352
iex> Faker.Vehicle.En.make()
348353
"Dodge"
349354
iex> Faker.Vehicle.En.make()
350-
"Ford"
355+
"Chevy"
356+
iex> Faker.Vehicle.En.make()
357+
"Honda"
351358
"""
352359
@spec make() :: String.t()
353360
def make do
@@ -360,18 +367,18 @@ defmodule Faker.Vehicle.En do
360367
## Examples
361368
362369
iex> Faker.Vehicle.En.make_and_model()
363-
"BMW X5"
370+
"Lincoln MKZ"
364371
iex> Faker.Vehicle.En.make_and_model()
365-
"Dodge Ram"
372+
"Chevy Malibu"
366373
iex> Faker.Vehicle.En.make_and_model()
367-
"Toyota Prius"
374+
"Ford Focus"
368375
iex> Faker.Vehicle.En.make_and_model()
369376
"Ford Focus"
370377
"""
371378
@spec make_and_model() :: String.t()
372379
def make_and_model do
373-
m = make()
374-
"#{m} #{model(m)}"
380+
make = make()
381+
"#{make} #{model(make)}"
375382
end
376383

377384
@doc """
@@ -380,13 +387,13 @@ defmodule Faker.Vehicle.En do
380387
## Examples
381388
382389
iex> Faker.Vehicle.En.model()
383-
"CR-V"
390+
"Encore"
384391
iex> Faker.Vehicle.En.model()
385-
"Enclave"
392+
"S5"
386393
iex> Faker.Vehicle.En.model()
387-
"Encore"
394+
"Fiesta"
388395
iex> Faker.Vehicle.En.model()
389-
"Verano"
396+
"X1"
390397
"""
391398
@spec model() :: String.t()
392399
def model do
@@ -408,15 +415,10 @@ defmodule Faker.Vehicle.En do
408415
iex> Faker.Vehicle.En.model("Toyota")
409416
"Corolla"
410417
"""
411-
412418
@spec model(String.t()) :: String.t()
413-
def model(make) do
414-
if Enum.member?(@makes, make) do
415-
Util.pick(@models[make])
416-
else
417-
model()
418-
end
419-
end
419+
def model(make) when make in @makes, do: Util.pick(@models[make])
420+
421+
def model(_make), do: model()
420422

421423
@doc """
422424
Returns a vehicle option string

0 commit comments

Comments
 (0)