parking 0.1.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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