parking 0.1.1 → 0.2.2

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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/lib/parking/cars.rb +129 -100
  3. data/lib/parking/cars/aixam.rb +1 -1
  4. data/lib/parking/cars/buick.rb +3 -3
  5. data/lib/parking/cars/chatenet.rb +3 -3
  6. data/lib/parking/cars/chevrolet.rb +1 -1
  7. data/lib/parking/cars/chrysler.rb +1 -1
  8. data/lib/parking/cars/citroen.rb +1 -1
  9. data/lib/parking/cars/cupra.rb +1 -1
  10. data/lib/parking/cars/dacia.rb +3 -3
  11. data/lib/parking/cars/daewoo.rb +3 -3
  12. data/lib/parking/cars/daihatsu.rb +3 -3
  13. data/lib/parking/cars/de_lorean.rb +3 -3
  14. data/lib/parking/cars/dodge.rb +3 -3
  15. data/lib/parking/cars/ds.rb +3 -3
  16. data/lib/parking/cars/ferrari.rb +1 -1
  17. data/lib/parking/cars/fiat.rb +1 -1
  18. data/lib/parking/cars/ford.rb +2 -2
  19. data/lib/parking/cars/fso.rb +3 -3
  20. data/lib/parking/cars/gaz.rb +3 -3
  21. data/lib/parking/cars/geely.rb +3 -3
  22. data/lib/parking/cars/honda.rb +2 -2
  23. data/lib/parking/cars/hummer.rb +2 -2
  24. data/lib/parking/cars/hyundai.rb +3 -3
  25. data/lib/parking/cars/infiniti.rb +2 -2
  26. data/lib/parking/cars/intrall.rb +3 -3
  27. data/lib/parking/cars/isuzu.rb +3 -3
  28. data/lib/parking/cars/iveco.rb +3 -3
  29. data/lib/parking/cars/jaguar.rb +3 -3
  30. data/lib/parking/cars/jeep.rb +3 -3
  31. data/lib/parking/cars/kia.rb +3 -3
  32. data/lib/parking/cars/lada.rb +3 -3
  33. data/lib/parking/cars/lamborghini.rb +1 -1
  34. data/lib/parking/cars/lancia.rb +3 -3
  35. data/lib/parking/cars/land_rover.rb +3 -3
  36. data/lib/parking/cars/landwind.rb +3 -3
  37. data/lib/parking/cars/ldv.rb +3 -3
  38. data/lib/parking/cars/lexus.rb +3 -3
  39. data/lib/parking/cars/ligier.rb +3 -3
  40. data/lib/parking/cars/lincoln.rb +3 -3
  41. data/lib/parking/cars/lotus.rb +3 -3
  42. data/lib/parking/cars/maserati.rb +3 -3
  43. data/lib/parking/cars/maybach.rb +3 -3
  44. data/lib/parking/cars/mazda.rb +3 -3
  45. data/lib/parking/cars/mercedes.rb +3 -3
  46. data/lib/parking/cars/mercury.rb +3 -3
  47. data/lib/parking/cars/mg.rb +3 -3
  48. data/lib/parking/cars/microcar.rb +3 -3
  49. data/lib/parking/cars/mini.rb +3 -3
  50. data/lib/parking/cars/mitsubishi.rb +3 -3
  51. data/lib/parking/cars/nissan.rb +3 -3
  52. data/lib/parking/cars/opel.rb +3 -3
  53. data/lib/parking/cars/peugeot.rb +3 -3
  54. data/lib/parking/cars/plymouth.rb +3 -3
  55. data/lib/parking/cars/pontiac.rb +3 -3
  56. data/lib/parking/cars/porsche.rb +3 -3
  57. data/lib/parking/cars/proton.rb +3 -3
  58. data/lib/parking/cars/qoros.rb +3 -3
  59. data/lib/parking/cars/renault.rb +3 -3
  60. data/lib/parking/cars/rolls_royce.rb +3 -3
  61. data/lib/parking/cars/rover.rb +3 -3
  62. data/lib/parking/cars/saab.rb +3 -3
  63. data/lib/parking/cars/scion.rb +3 -3
  64. data/lib/parking/cars/seat.rb +3 -3
  65. data/lib/parking/cars/skoda.rb +3 -3
  66. data/lib/parking/cars/smart.rb +3 -3
  67. data/lib/parking/cars/{ssangyong.rb → ssang_yong.rb} +5 -5
  68. data/lib/parking/cars/subaru.rb +3 -3
  69. data/lib/parking/cars/suzuki.rb +3 -3
  70. data/lib/parking/cars/syrena.rb +3 -3
  71. data/lib/parking/cars/talbot.rb +3 -3
  72. data/lib/parking/cars/tata.rb +3 -3
  73. data/lib/parking/cars/tesla.rb +3 -3
  74. data/lib/parking/cars/toyota.rb +3 -3
  75. data/lib/parking/cars/trabant.rb +3 -3
  76. data/lib/parking/cars/uaz.rb +3 -3
  77. data/lib/parking/cars/volkswagen.rb +3 -3
  78. data/lib/parking/cars/volvo.rb +3 -3
  79. data/lib/parking/cars/wartburg.rb +3 -3
  80. data/lib/parking/cars/yugo.rb +3 -3
  81. data/lib/parking/cars/zaz.rb +3 -3
  82. data/lib/parking/version.rb +1 -1
  83. metadata +20 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0b7973ca8aeb0db925ab8f4f01c520648c8ad158cc345ee55fc7dfb55388eb6
4
- data.tar.gz: '09b539e8929c22642399f4c8e15f619b2ab9b22cd1ab88b196be41dd79ce22d6'
3
+ metadata.gz: ff68c98a83a278f2ca8da8560bf47185c576351fefd34b4c7bfd9360029d7953
4
+ data.tar.gz: 8ad615c095367aa959c35032ee8a5dfee5ca3414880835f2e77a0234f04a1bd7
5
5
  SHA512:
6
- metadata.gz: 4995a2b04419496cf96705f74fe8d8a3c1c295b33ce59eaa26330565840b1755cab06a11c46a8e922c40bdd9309acbbdd72c3423f1e1fd9e4f2e3a184ba72c5f
7
- data.tar.gz: a332782f76d2666a9b11583bd5452468ad162c723911b180288be42751e049bd32767db8ec4f3df7c68dff358cc195a6b09fcf85206e4185e4955e83e5599f1c
6
+ metadata.gz: 72120c6eb8d40db569825be7f628b1df811ab6251e41595ca756a43cc31af4fe6923698c0fe140544543958faad897b02e314fc2310bdda048283f00255514a2
7
+ data.tar.gz: 87fc6f8aa83b73c807554ad128d75ff643d57f9c014bce7c483033749cd021630569622c6893280fbe517265755d949e0eeb5a296d7a4112f212a9288cfb983e
data/lib/parking/cars.rb CHANGED
@@ -1,105 +1,134 @@
1
- module Cars
2
- class << self
3
- def brands
4
- [
5
- 'Abarth',
6
- 'Acura',
7
- 'Aixam',
8
- 'Alfa Romeo',
9
- 'Alpine',
10
- 'Aston Martin',
11
- 'Audi',
12
- 'Bentley',
13
- 'BMW',
14
- 'Bugatti',
15
- 'Buick',
16
- 'Cadillac',
17
- 'Chatenet',
18
- 'Chevrolet',
19
- 'Chrysler',
20
- 'Citroen',
21
- 'Cupra',
22
- 'Dacia',
23
- 'Daewoo',
24
- 'Daihatsu',
25
- 'DeLorean',
26
- 'Dodge',
27
- 'DS',
28
- 'Ferrari',
29
- 'Fiat',
30
- 'Ford',
31
- 'FSO',
32
- 'GAZ',
33
- 'Geely',
34
- 'Honda',
35
- 'Hummer',
36
- 'Hyundai',
37
- 'Infiniti',
38
- 'Intrall',
39
- 'Isuzu',
40
- 'Iveco',
41
- 'Jaguar',
42
- 'Jeep',
43
- 'Kia',
44
- 'Lamborghini',
45
- 'Lancia',
46
- 'Land Rover',
47
- 'Landwind',
48
- 'LDV',
49
- 'Lexus',
50
- 'Ligier',
51
- 'Lincoln',
52
- 'Lotus',
53
- 'Lada',
54
- 'Maserati',
55
- 'Maybach',
56
- 'Mazda',
57
- 'Mercedes',
58
- 'Mercury',
59
- 'MG',
60
- 'Microcar',
61
- 'Mini',
62
- 'Mitsubishi',
63
- 'Nissan',
64
- 'Opel',
65
- 'Peugeot',
66
- 'Plymouth',
67
- 'Pontiac',
68
- 'Porsche',
69
- 'Proton',
70
- 'Qoros',
71
- 'Renault',
72
- 'Rolls-Royce',
73
- 'Rover',
74
- 'Saab',
75
- 'Scion',
76
- 'Seat',
77
- 'Skoda',
78
- 'Smart',
79
- 'Ssangyong',
80
- 'Subaru',
81
- 'Suzuki',
82
- 'Syrena',
83
- 'Talbot',
84
- 'TATA',
85
- 'Tesla',
86
- 'Toyota',
87
- 'Trabant',
88
- 'UAZ',
89
- 'Volkswagen',
90
- 'Volvo',
91
- 'Wartburg',
92
- 'Yugo',
93
- 'ZAZ'
94
- ]
95
- end
1
+ module Parking
2
+ module Cars
3
+ class << self
4
+ def brands
5
+ [
6
+ 'Abarth',
7
+ 'Acura',
8
+ 'Aixam',
9
+ 'Alfa Romeo',
10
+ 'Alpine',
11
+ 'Aston Martin',
12
+ 'Audi',
13
+ 'Bentley',
14
+ 'BMW',
15
+ 'Bugatti',
16
+ 'Buick',
17
+ 'Cadillac',
18
+ 'Chatenet',
19
+ 'Chevrolet',
20
+ 'Chrysler',
21
+ 'Citroen',
22
+ 'Cupra',
23
+ 'Dacia',
24
+ 'Daewoo',
25
+ 'Daihatsu',
26
+ 'DeLorean',
27
+ 'Dodge',
28
+ 'DS',
29
+ 'Ferrari',
30
+ 'Fiat',
31
+ 'Ford',
32
+ 'FSO',
33
+ 'GAZ',
34
+ 'Geely',
35
+ 'Honda',
36
+ 'Hummer',
37
+ 'Hyundai',
38
+ 'Infiniti',
39
+ 'Intrall',
40
+ 'Isuzu',
41
+ 'Iveco',
42
+ 'Jaguar',
43
+ 'Jeep',
44
+ 'Kia',
45
+ 'Lamborghini',
46
+ 'Lancia',
47
+ 'Land Rover',
48
+ 'Landwind',
49
+ 'LDV',
50
+ 'Lexus',
51
+ 'Ligier',
52
+ 'Lincoln',
53
+ 'Lotus',
54
+ 'Lada',
55
+ 'Maserati',
56
+ 'Maybach',
57
+ 'Mazda',
58
+ 'Mercedes',
59
+ 'Mercury',
60
+ 'MG',
61
+ 'Microcar',
62
+ 'Mini',
63
+ 'Mitsubishi',
64
+ 'Nissan',
65
+ 'Opel',
66
+ 'Peugeot',
67
+ 'Plymouth',
68
+ 'Pontiac',
69
+ 'Porsche',
70
+ 'Proton',
71
+ 'Qoros',
72
+ 'Renault',
73
+ 'Rolls-Royce',
74
+ 'Rover',
75
+ 'Saab',
76
+ 'Scion',
77
+ 'Seat',
78
+ 'Skoda',
79
+ 'Smart',
80
+ 'SsangYong',
81
+ 'Subaru',
82
+ 'Suzuki',
83
+ 'Syrena',
84
+ 'Talbot',
85
+ 'TATA',
86
+ 'Tesla',
87
+ 'Toyota',
88
+ 'Trabant',
89
+ 'UAZ',
90
+ 'Volkswagen',
91
+ 'Volvo',
92
+ 'Wartburg',
93
+ 'Yugo',
94
+ 'ZAZ'
95
+ ]
96
+ end
97
+
98
+ def random
99
+ brand_class = Object.const_get(class_name(brands.sample))
100
+
101
+ "#{brand_class.name} #{brand_class.models.sample}"
102
+ end
103
+
104
+ def method_missing(method, *args)
105
+ if method.to_s.start_with?('from')
106
+ country = method.to_s.sub('from_', '')
107
+ country.sub!('_', ' ')
108
+
109
+ brands.map do |brand|
110
+ brand_class = Object.const_get(class_name(brand))
111
+
112
+ brand_class.name if brand_class.country.downcase == country
113
+ end.compact
114
+ end
115
+ end
116
+
117
+ def countries
118
+ brands.map { |brand| Object.const_get(class_name(brand)).country }.uniq
119
+ end
120
+
121
+ private
122
+
123
+ def class_name(brand)
124
+ brand.gsub!('-', ' ') if brand == 'Rolls-Royce'
125
+ brand.gsub!('L', ' L') if brand == 'DeLorean'
126
+ brand.gsub!('Y', ' Y') if brand == 'SsangYong'
96
127
 
97
- def random
98
- make = brands.sample.humanize
99
- make_class = "Parking::Cars::#{make}".constantize
100
- model = make_class.models.sample
128
+ brand.split.size > 1 && brand.delete!(' ') || brand.capitalize!
101
129
 
102
- "#{make} #{model}"
130
+ "Parking::Cars::#{brand}"
131
+ end
103
132
  end
104
133
  end
105
134
  end
@@ -3,7 +3,7 @@ module Parking
3
3
  class Aixam < Brand
4
4
  @name = 'Aixam'
5
5
  @country = 'France'
6
- @founders = []
6
+ @founders = ['Polaris Industries']
7
7
  @foundation_date = Date.new(1983)
8
8
  @foundation_place = ''
9
9
  @models = [
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Buick < Brand
4
4
  @name = 'Buick'
5
- @country = ''
6
- @founders = []
7
- @foundation_date = Date.new
5
+ @country = 'USA'
6
+ @founders = ['David Dunbar Buick']
7
+ @foundation_date = Date.new(1899)
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  'Century',
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Chatenet < Brand
4
4
  @name = 'Chatenet'
5
- @country = ''
6
- @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
5
+ @country = 'France'
6
+ @founders = ['Louis-Georges Chatenet']
7
+ @foundation_date = ''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  'CH26',
@@ -60,4 +60,4 @@ module Parking
60
60
  ]
61
61
  end
62
62
  end
63
- end
63
+ end
@@ -31,4 +31,4 @@ module Parking
31
31
  ]
32
32
  end
33
33
  end
34
- end
34
+ end
@@ -54,4 +54,4 @@ module Parking
54
54
  ]
55
55
  end
56
56
  end
57
- end
57
+ end
@@ -13,4 +13,4 @@ module Parking
13
13
  ]
14
14
  end
15
15
  end
16
- end
16
+ end
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Dacia < Brand
4
4
  @name = 'Dacia'
5
- @country = ''
5
+ @country = 'Romania'
6
6
  @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date = ''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  '1100',
@@ -26,4 +26,4 @@ module Parking
26
26
  ]
27
27
  end
28
28
  end
29
- end
29
+ end
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Daewoo < Brand
4
4
  @name = 'Daewoo'
5
- @country = ''
5
+ @country = 'South Korea'
6
6
  @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date = ''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  'Chairman',
@@ -27,4 +27,4 @@ module Parking
27
27
  ]
28
28
  end
29
29
  end
30
- end
30
+ end
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Daihatsu < Brand
4
4
  @name = 'Daihatsu'
5
- @country = ''
5
+ @country = 'Japan'
6
6
  @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date = ''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  '850',
@@ -25,4 +25,4 @@ module Parking
25
25
  ]
26
26
  end
27
27
  end
28
- end
28
+ end
@@ -2,13 +2,13 @@ module Parking
2
2
  module Cars
3
3
  class DeLorean < Brand
4
4
  @name = 'DeLorean'
5
- @country = ''
5
+ @country = 'USA'
6
6
  @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date =''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  'DMC-12'
11
11
  ]
12
12
  end
13
13
  end
14
- end
14
+ end
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Dodge < Brand
4
4
  @name = 'Dodge'
5
- @country = ''
5
+ @country = 'USA'
6
6
  @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date = ''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  'Avenger',
@@ -30,4 +30,4 @@ module Parking
30
30
  ]
31
31
  end
32
32
  end
33
- end
33
+ end
@@ -2,9 +2,9 @@ module Parking
2
2
  module Cars
3
3
  class Ds < Brand
4
4
  @name = 'DS'
5
- @country = ''
5
+ @country = 'France'
6
6
  @founders = []
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date = ''
8
8
  @foundation_place = ''
9
9
  @models = [
10
10
  '3',
@@ -15,4 +15,4 @@ module Parking
15
15
  ]
16
16
  end
17
17
  end
18
- end
18
+ end
@@ -21,4 +21,4 @@ module Parking
21
21
  ]
22
22
  end
23
23
  end
24
- end
24
+ end
@@ -61,4 +61,4 @@ module Parking
61
61
  ]
62
62
  end
63
63
  end
64
- end
64
+ end
@@ -4,7 +4,7 @@ module Parking
4
4
  @name = 'Ford'
5
5
  @country = 'USA'
6
6
  @founders = ['Henry Ford']
7
- @foundation_date = Date.new(1903, 6, 16)
7
+ @foundation_date = ''
8
8
  @foundation_place = 'Detroit, USA'
9
9
  @models = [
10
10
  'Aerostar',
@@ -74,4 +74,4 @@ module Parking
74
74
  ]
75
75
  end
76
76
  end
77
- end
77
+ end