parking 0.1.0 → 0.2.1

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 (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