parking 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/lib/parking.rb +1 -2
  3. data/lib/parking/brand.rb +1 -1
  4. data/lib/parking/cars.rb +129 -100
  5. data/lib/parking/cars/abarth.rb +1 -1
  6. data/lib/parking/cars/acura.rb +1 -1
  7. data/lib/parking/cars/aixam.rb +2 -2
  8. data/lib/parking/cars/alfa_romeo.rb +1 -1
  9. data/lib/parking/cars/alpine.rb +1 -1
  10. data/lib/parking/cars/aston_martin.rb +1 -1
  11. data/lib/parking/cars/audi.rb +1 -1
  12. data/lib/parking/cars/bentley.rb +1 -1
  13. data/lib/parking/cars/bmw.rb +1 -1
  14. data/lib/parking/cars/bugatti.rb +1 -1
  15. data/lib/parking/cars/buick.rb +4 -4
  16. data/lib/parking/cars/cadillac.rb +1 -1
  17. data/lib/parking/cars/chatenet.rb +4 -4
  18. data/lib/parking/cars/chevrolet.rb +1 -1
  19. data/lib/parking/cars/chrysler.rb +1 -1
  20. data/lib/parking/cars/citroen.rb +1 -1
  21. data/lib/parking/cars/cupra.rb +1 -1
  22. data/lib/parking/cars/dacia.rb +3 -3
  23. data/lib/parking/cars/daewoo.rb +3 -3
  24. data/lib/parking/cars/daihatsu.rb +3 -3
  25. data/lib/parking/cars/de_lorean.rb +3 -3
  26. data/lib/parking/cars/dodge.rb +3 -3
  27. data/lib/parking/cars/ds.rb +3 -3
  28. data/lib/parking/cars/ferrari.rb +1 -1
  29. data/lib/parking/cars/fiat.rb +1 -1
  30. data/lib/parking/cars/ford.rb +2 -2
  31. data/lib/parking/cars/fso.rb +3 -3
  32. data/lib/parking/cars/gaz.rb +3 -3
  33. data/lib/parking/cars/geely.rb +3 -3
  34. data/lib/parking/cars/honda.rb +2 -2
  35. data/lib/parking/cars/hummer.rb +2 -2
  36. data/lib/parking/cars/hyundai.rb +3 -3
  37. data/lib/parking/cars/infiniti.rb +2 -2
  38. data/lib/parking/cars/intrall.rb +3 -3
  39. data/lib/parking/cars/isuzu.rb +3 -3
  40. data/lib/parking/cars/iveco.rb +3 -3
  41. data/lib/parking/cars/jaguar.rb +3 -3
  42. data/lib/parking/cars/jeep.rb +3 -3
  43. data/lib/parking/cars/kia.rb +3 -3
  44. data/lib/parking/cars/lada.rb +3 -3
  45. data/lib/parking/cars/lamborghini.rb +1 -1
  46. data/lib/parking/cars/lancia.rb +3 -3
  47. data/lib/parking/cars/land_rover.rb +3 -3
  48. data/lib/parking/cars/landwind.rb +3 -3
  49. data/lib/parking/cars/ldv.rb +3 -3
  50. data/lib/parking/cars/lexus.rb +3 -3
  51. data/lib/parking/cars/ligier.rb +3 -3
  52. data/lib/parking/cars/lincoln.rb +3 -3
  53. data/lib/parking/cars/lotus.rb +3 -3
  54. data/lib/parking/cars/maserati.rb +3 -3
  55. data/lib/parking/cars/maybach.rb +3 -3
  56. data/lib/parking/cars/mazda.rb +3 -3
  57. data/lib/parking/cars/mercedes.rb +3 -3
  58. data/lib/parking/cars/mercury.rb +3 -3
  59. data/lib/parking/cars/mg.rb +3 -3
  60. data/lib/parking/cars/microcar.rb +3 -3
  61. data/lib/parking/cars/mini.rb +3 -3
  62. data/lib/parking/cars/mitsubishi.rb +3 -3
  63. data/lib/parking/cars/nissan.rb +3 -3
  64. data/lib/parking/cars/opel.rb +3 -3
  65. data/lib/parking/cars/peugeot.rb +3 -3
  66. data/lib/parking/cars/plymouth.rb +3 -3
  67. data/lib/parking/cars/pontiac.rb +3 -3
  68. data/lib/parking/cars/porsche.rb +3 -3
  69. data/lib/parking/cars/proton.rb +3 -3
  70. data/lib/parking/cars/qoros.rb +3 -3
  71. data/lib/parking/cars/renault.rb +3 -3
  72. data/lib/parking/cars/rolls_royce.rb +3 -3
  73. data/lib/parking/cars/rover.rb +3 -3
  74. data/lib/parking/cars/saab.rb +3 -3
  75. data/lib/parking/cars/scion.rb +3 -3
  76. data/lib/parking/cars/seat.rb +3 -3
  77. data/lib/parking/cars/skoda.rb +3 -3
  78. data/lib/parking/cars/smart.rb +3 -3
  79. data/lib/parking/cars/{ssangyong.rb → ssang_yong.rb} +5 -5
  80. data/lib/parking/cars/subaru.rb +3 -3
  81. data/lib/parking/cars/suzuki.rb +3 -3
  82. data/lib/parking/cars/syrena.rb +3 -3
  83. data/lib/parking/cars/talbot.rb +3 -3
  84. data/lib/parking/cars/tata.rb +3 -3
  85. data/lib/parking/cars/tesla.rb +3 -3
  86. data/lib/parking/cars/toyota.rb +3 -3
  87. data/lib/parking/cars/trabant.rb +3 -3
  88. data/lib/parking/cars/uaz.rb +3 -3
  89. data/lib/parking/cars/volkswagen.rb +3 -3
  90. data/lib/parking/cars/volvo.rb +3 -3
  91. data/lib/parking/cars/wartburg.rb +3 -3
  92. data/lib/parking/cars/yugo.rb +3 -3
  93. data/lib/parking/cars/zaz.rb +3 -3
  94. data/lib/parking/version.rb +1 -3
  95. metadata +27 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ec564c228fe0b5e19eaebc26479b24565d7b275ac501618decc754db7a01355
4
- data.tar.gz: 54427b5d45f834ccd56e1082f871cb9586fb254ec262a667aa8112b0faaf70d0
3
+ metadata.gz: c559b75fe4f8b65fe55a4a86de3d1b0ee60b9cdbd16712ed080a1c289bcd52e0
4
+ data.tar.gz: a2c4daafe706b8931409cb66999fc8e541d0f6a1ac918e98593cbbd1308fe571
5
5
  SHA512:
6
- metadata.gz: 90e9950b704c9bcbb60c481d0fd697d1f5738d7558e4dee22ce0b4e0063bcbc2552fa14071150e418b3870e2214365fb1c07ad1ef1c1d734e8a12dc211a376a6
7
- data.tar.gz: 6fbca8b79952bf942a83b6a4a91b219b101bedf39598e3e0fb9d3b52b76a693c0723c0dc59dd59ac77a841572e97c530433e25cd779267a0cff8f568a1b78999
6
+ metadata.gz: 48dd7c5db89551414f0d593704d650a8cf865c1ebd91b471659997da6d2b66478fc19d866e586f89b9fdbfe1b497e7ac1f9db553c9ab2f281bed24fddff7c955
7
+ data.tar.gz: 126968aa2f365d51296fdfb18b1c38c3b00bef8feb1fa1b65efb78b39a5ff6058d008ed37a95749189f8650660a06f38dac7c6e1c0ba2b8338ea898ba3e11f9b
data/lib/parking.rb CHANGED
@@ -2,5 +2,4 @@ require 'date'
2
2
  require 'require_all'
3
3
  require_all 'lib'
4
4
 
5
-
6
- module Parking; end
5
+ module Parking; end
data/lib/parking/brand.rb CHANGED
@@ -19,4 +19,4 @@ class Brand
19
19
  models.sample
20
20
  end
21
21
  end
22
- end
22
+ end
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
@@ -15,4 +15,4 @@ module Parking
15
15
  ]
16
16
  end
17
17
  end
18
- end
18
+ end
@@ -23,4 +23,4 @@ module Parking
23
23
  ]
24
24
  end
25
25
  end
26
- end
26
+ 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 = [
@@ -18,4 +18,4 @@ module Parking
18
18
  ]
19
19
  end
20
20
  end
21
- end
21
+ end
@@ -33,4 +33,4 @@ module Parking
33
33
  ]
34
34
  end
35
35
  end
36
- end
36
+ end
@@ -11,4 +11,4 @@ module Parking
11
11
  ]
12
12
  end
13
13
  end
14
- end
14
+ end
@@ -19,4 +19,4 @@ module Parking
19
19
  ]
20
20
  end
21
21
  end
22
- end
22
+ end
@@ -35,4 +35,4 @@ module Parking
35
35
  ]
36
36
  end
37
37
  end
38
- end
38
+ end
@@ -16,4 +16,4 @@ module Parking
16
16
  ]
17
17
  end
18
18
  end
19
- end
19
+ end
@@ -33,4 +33,4 @@ module Parking
33
33
  ]
34
34
  end
35
35
  end
36
- end
36
+ end
@@ -14,4 +14,4 @@ module Parking
14
14
  ]
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -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',
@@ -24,4 +24,4 @@ module Parking
24
24
  ]
25
25
  end
26
26
  end
27
- end
27
+ end
@@ -22,4 +22,4 @@ module Parking
22
22
  ]
23
23
  end
24
24
  end
25
- end
25
+ end
@@ -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',
@@ -16,4 +16,4 @@ module Parking
16
16
  ]
17
17
  end
18
18
  end
19
- end
19
+ end
@@ -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