rubybikes 0.3.0

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 (118) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +12 -0
  3. data/CONTRIBUTING.md +33 -0
  4. data/LICENSE +662 -0
  5. data/NOTICE +10 -0
  6. data/PROVIDERS.md +123 -0
  7. data/README.md +108 -0
  8. data/RELEASING.md +44 -0
  9. data/data/ATTRIBUTION.txt +290 -0
  10. data/data/geojson/ch_cantons.json +53 -0
  11. data/data/geojson/japan_prefectures.json +49 -0
  12. data/data/geojson/penang.json +63 -0
  13. data/data/graphql/charichari.graphql +12 -0
  14. data/data/graphql/ganxeta.graphql +22 -0
  15. data/data/graphql/otp.graphql +68 -0
  16. data/data/providers.json +1 -0
  17. data/data/pybikes/aksu.json +49 -0
  18. data/data/pybikes/ambici.json +166 -0
  19. data/data/pybikes/baksi.json +41 -0
  20. data/data/pybikes/batumvelo.json +19 -0
  21. data/data/pybikes/bcycle.json +326 -0
  22. data/data/pybikes/beryl.json +195 -0
  23. data/data/pybikes/bicicard.json +205 -0
  24. data/data/pybikes/bicicas.json +20 -0
  25. data/data/pybikes/bicielx.json +19 -0
  26. data/data/pybikes/biciferrolterra.json +21 -0
  27. data/data/pybikes/bicimad.json +16 -0
  28. data/data/pybikes/bicincitta.json +1551 -0
  29. data/data/pybikes/bicing.json +37 -0
  30. data/data/pybikes/bikeshare_ie.json +46 -0
  31. data/data/pybikes/bikeu.json +17 -0
  32. data/data/pybikes/bixi.json +21 -0
  33. data/data/pybikes/bizkaibizi.json +105 -0
  34. data/data/pybikes/careem.json +40 -0
  35. data/data/pybikes/charichari.json +106 -0
  36. data/data/pybikes/chartered_bike.json +86 -0
  37. data/data/pybikes/clujbike.json +17 -0
  38. data/data/pybikes/cyclocity.json +211 -0
  39. data/data/pybikes/cyclopolis.json +78 -0
  40. data/data/pybikes/cykleo.json +39 -0
  41. data/data/pybikes/decobike.json +18 -0
  42. data/data/pybikes/derp.json +114 -0
  43. data/data/pybikes/deutschebahn.json +97 -0
  44. data/data/pybikes/digitransit.json +123 -0
  45. data/data/pybikes/docomo.json +215 -0
  46. data/data/pybikes/easybike.json +160 -0
  47. data/data/pybikes/ecovelo.json +307 -0
  48. data/data/pybikes/emovity.json +17 -0
  49. data/data/pybikes/encicla.json +17 -0
  50. data/data/pybikes/fifteen.json +50 -0
  51. data/data/pybikes/fsm.json +16 -0
  52. data/data/pybikes/ganxeta.json +20 -0
  53. data/data/pybikes/gbfs.json +1578 -0
  54. data/data/pybikes/gira.json +20 -0
  55. data/data/pybikes/gyorbike.json +19 -0
  56. data/data/pybikes/hellocycling.json +248 -0
  57. data/data/pybikes/joco.json +22 -0
  58. data/data/pybikes/keolis.json +22 -0
  59. data/data/pybikes/kolumbus.json +18 -0
  60. data/data/pybikes/lastenvelo.json +30 -0
  61. data/data/pybikes/linkbike.json +17 -0
  62. data/data/pybikes/meiob.json +18 -0
  63. data/data/pybikes/mobhis.json +43 -0
  64. data/data/pybikes/movus.json +72 -0
  65. data/data/pybikes/nextbike.json +2443 -0
  66. data/data/pybikes/nextbike_gbfs.json +5 -0
  67. data/data/pybikes/nubija.json +18 -0
  68. data/data/pybikes/open_source_bike_share.json +28 -0
  69. data/data/pybikes/open_source_bike_share_v2.json +17 -0
  70. data/data/pybikes/openmove.json +20 -0
  71. data/data/pybikes/ov_fiets.json +20 -0
  72. data/data/pybikes/pedalada.json +66 -0
  73. data/data/pybikes/publibike.json +127 -0
  74. data/data/pybikes/qrobici.json +20 -0
  75. data/data/pybikes/roovee.json +245 -0
  76. data/data/pybikes/samba.json +52 -0
  77. data/data/pybikes/sejong.json +19 -0
  78. data/data/pybikes/seoulbike.json +18 -0
  79. data/data/pybikes/sharedmobility.json +63 -0
  80. data/data/pybikes/slovnaft_bajk.json +21 -0
  81. data/data/pybikes/smartbike.json +28 -0
  82. data/data/pybikes/smoove.json +26 -0
  83. data/data/pybikes/soltrafego.json +39 -0
  84. data/data/pybikes/tashu.json +20 -0
  85. data/data/pybikes/urbansharing.json +22 -0
  86. data/data/pybikes/velib.json +23 -0
  87. data/data/pybikes/velobike_kz.json +17 -0
  88. data/data/pybikes/velok.json +16 -0
  89. data/data/pybikes/veloway.json +20 -0
  90. data/data/pybikes/weelo.json +45 -0
  91. data/data/pybikes/wegoshare.json +141 -0
  92. data/data/pybikes/xian.json +19 -0
  93. data/data/pybikes/yelovelo.json +22 -0
  94. data/data/pybikes/youbike.json +173 -0
  95. data/data/upstream.json +7 -0
  96. data/lib/rubybikes/engine.rb +3 -0
  97. data/lib/rubybikes/native/authenticated.rb +95 -0
  98. data/lib/rubybikes/native/engine.rb +103 -0
  99. data/lib/rubybikes/native/gbfs.rb +169 -0
  100. data/lib/rubybikes/native/geometry.rb +53 -0
  101. data/lib/rubybikes/native/graphql.rb +135 -0
  102. data/lib/rubybikes/native/html_clients.rb +313 -0
  103. data/lib/rubybikes/native/json_providers.rb +174 -0
  104. data/lib/rubybikes/native/more_json.rb +126 -0
  105. data/lib/rubybikes/native/nextbike.rb +50 -0
  106. data/lib/rubybikes/native/provider.rb +84 -0
  107. data/lib/rubybikes/native/remaining_clients.rb +102 -0
  108. data/lib/rubybikes/native/response_cache.rb +78 -0
  109. data/lib/rubybikes/native/transport.rb +163 -0
  110. data/lib/rubybikes/native/xml_details.rb +159 -0
  111. data/lib/rubybikes/native.rb +30 -0
  112. data/lib/rubybikes/version.rb +5 -0
  113. data/lib/rubybikes.rb +201 -0
  114. data/sig/external.rbs +30 -0
  115. data/sig/manifest.yaml +8 -0
  116. data/sig/native.rbs +230 -0
  117. data/sig/rubybikes.rbs +143 -0
  118. metadata +230 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "gira",
5
+ "meta": {
6
+ "city": "Lisbon",
7
+ "name": "Gira",
8
+ "country": "PT",
9
+ "company": [
10
+ "EMEL"
11
+ ],
12
+ "longitude": -9.149334,
13
+ "latitude": 38.724954
14
+ },
15
+ "feed_url": "https://emel.city-platform.com/maps/wfs?SERVICE=wfs&REQUEST=GetFeature&VERSION=2.0.0&typeNames=emel_gira_stations&srsName=EPSG:4326&outputFormat=application/json"
16
+ }
17
+ ],
18
+ "system": "gira",
19
+ "class": "GiraSystem"
20
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "gyorbike",
5
+ "meta": {
6
+ "city": "Győr",
7
+ "name": "GyőrBike",
8
+ "country": "HU",
9
+ "latitude": 47.6875,
10
+ "longitude": 17.6504,
11
+ "company": [
12
+ "Győr Projekt Kft."
13
+ ]
14
+ }
15
+ }
16
+ ],
17
+ "system": "gyorbike",
18
+ "class": "GyorBike"
19
+ }
@@ -0,0 +1,248 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "uid": 3,
5
+ "tag": "hellocycling-iwate",
6
+ "meta": {
7
+ "city": "岩手県 (Iwate)",
8
+ "name": "HELLO CYCLING Iwate",
9
+ "country": "JP",
10
+ "latitude": 39.6992,
11
+ "longitude": 141.1343
12
+ }
13
+ },
14
+ {
15
+ "uid": 8,
16
+ "tag": "hellocycling-ibaraki",
17
+ "meta": {
18
+ "city": "茨城県 (Ibaraki)",
19
+ "name": "HELLO CYCLING Ibaraki",
20
+ "country": "JP",
21
+ "latitude": 36.0852,
22
+ "longitude": 140.2008
23
+ }
24
+ },
25
+ {
26
+ "uid": 9,
27
+ "tag": "hellocycling-tochigi",
28
+ "meta": {
29
+ "city": "栃木県 (Tochigi)",
30
+ "name": "HELLO CYCLING Tochigi",
31
+ "country": "JP",
32
+ "latitude": 36.75349,
33
+ "longitude": 139.6115
34
+ }
35
+ },
36
+ {
37
+ "uid": 11,
38
+ "tag": "hellocycling-saitama",
39
+ "meta": {
40
+ "city": "埼玉県 (Saitama)",
41
+ "name": "HELLO CYCLING Saitama",
42
+ "country": "JP",
43
+ "latitude": 35.86017,
44
+ "longitude": 139.64347
45
+ }
46
+ },
47
+ {
48
+ "uid": 12,
49
+ "tag": "hellocycling-chiba",
50
+ "meta": {
51
+ "city": "千葉県 (Chiba)",
52
+ "name": "HELLO CYCLING Chiba",
53
+ "country": "JP",
54
+ "latitude": 35.6687,
55
+ "longitude": 140.0201
56
+ }
57
+ },
58
+ {
59
+ "uid": 13,
60
+ "tag": "hellocycling-tokyo",
61
+ "meta": {
62
+ "city": "東京都 (Tokyo)",
63
+ "name": "HELLO CYCLING Tokyo",
64
+ "country": "JP",
65
+ "latitude": 35.671,
66
+ "longitude": 139.765
67
+ }
68
+ },
69
+ {
70
+ "uid": 14,
71
+ "tag": "hellocycling-kanagawa",
72
+ "meta": {
73
+ "city": "神奈川県 (Kanagawa)",
74
+ "name": "HELLO CYCLING Kanagawa",
75
+ "country": "JP",
76
+ "latitude": 35.3629,
77
+ "longitude": 139.4677
78
+ }
79
+ },
80
+ {
81
+ "uid": 21,
82
+ "tag": "hellocycling-gifu",
83
+ "meta": {
84
+ "city": "岐阜県 (Gifu)",
85
+ "name": "HELLO CYCLING Gifu",
86
+ "country": "JP",
87
+ "latitude": 35.3348,
88
+ "longitude": 137.1236
89
+ }
90
+ },
91
+ {
92
+ "uid": 22,
93
+ "tag": "hellocycling-shizuoka",
94
+ "meta": {
95
+ "city": "静岡県 (Shizuoka)",
96
+ "name": "HELLO CYCLING Shizuoka",
97
+ "country": "JP",
98
+ "latitude": 34.9769,
99
+ "longitude": 138.3855
100
+ }
101
+ },
102
+ {
103
+ "uid": 23,
104
+ "tag": "hellocycling-aichi",
105
+ "meta": {
106
+ "city": "愛知県 (Aichi)",
107
+ "name": "HELLO CYCLING Aichi",
108
+ "country": "JP",
109
+ "latitude": 35.1827,
110
+ "longitude": 136.9096
111
+ }
112
+ },
113
+ {
114
+ "uid": 20,
115
+ "tag": "hellocycling-nagano",
116
+ "meta": {
117
+ "city": "長野県 (Nagano)",
118
+ "name": "HELLO CYCLING Nagano",
119
+ "country": "JP",
120
+ "latitude": 36.2395,
121
+ "longitude": 137.9697
122
+ }
123
+ },
124
+ {
125
+ "uid": 27,
126
+ "tag": "hellocycling-osaka",
127
+ "meta": {
128
+ "city": "大阪府 (Osaka)",
129
+ "name": "HELLO CYCLING Osaka",
130
+ "country": "JP",
131
+ "latitude": 34.6917,
132
+ "longitude": 135.5091
133
+ }
134
+ },
135
+ {
136
+ "uid": 26,
137
+ "tag": "hellocycling-kyoto",
138
+ "meta": {
139
+ "city": "京都府 (Kyoto)",
140
+ "name": "HELLO CYCLING Kyoto",
141
+ "country": "JP",
142
+ "latitude": 35.01897,
143
+ "longitude": 135.75747
144
+ }
145
+ },
146
+ {
147
+ "uid": 28,
148
+ "tag": "hellocycling-hyougo",
149
+ "meta": {
150
+ "city": "兵庫県 (Hyougo)",
151
+ "name": "HELLO CYCLING Hyougo",
152
+ "country": "JP",
153
+ "latitude": 34.7356,
154
+ "longitude": 135.3697
155
+ }
156
+ },
157
+ {
158
+ "uid": 29,
159
+ "tag": "hellocycling-nara",
160
+ "meta": {
161
+ "city": "奈良県 (Nara)",
162
+ "name": "HELLO CYCLING Nara",
163
+ "country": "JP",
164
+ "latitude": 34.6819,
165
+ "longitude": 135.8007
166
+ }
167
+ },
168
+ {
169
+ "uid": 37,
170
+ "tag": "hellocycling-kagawa",
171
+ "meta": {
172
+ "city": "香川県 (Kagawa)",
173
+ "name": "HELLO CYCLING Kagawa",
174
+ "country": "JP",
175
+ "latitude": 34.4898,
176
+ "longitude": 134.2600
177
+ }
178
+ },
179
+ {
180
+ "uid": 38,
181
+ "tag": "hellocycling-ehime",
182
+ "meta": {
183
+ "city": "愛媛県 (Ehime)",
184
+ "name": "HELLO CYCLING Ehime",
185
+ "country": "JP",
186
+ "latitude": 33.84450,
187
+ "longitude": 132.76913
188
+ }
189
+ },
190
+ {
191
+ "uid": 34,
192
+ "tag": "hellocycling-hiroshima",
193
+ "meta": {
194
+ "city": "広島県 (Hiroshima)",
195
+ "name": "HELLO CYCLING Hiroshima",
196
+ "country": "JP",
197
+ "latitude": 34.40061,
198
+ "longitude": 133.19824
199
+ }
200
+ },
201
+ {
202
+ "uid": 40,
203
+ "tag": "hellocycling-fukuoka",
204
+ "meta": {
205
+ "city": "福岡県 (Fukuoka)",
206
+ "name": "HELLO CYCLING Fukuoka",
207
+ "country": "JP",
208
+ "latitude": 33.8823,
209
+ "longitude": 130.8759
210
+ }
211
+ },
212
+ {
213
+ "uid": 41,
214
+ "tag": "hellocycling-saga",
215
+ "meta": {
216
+ "city": "佐賀県 (Saga)",
217
+ "name": "HELLO CYCLING Saga",
218
+ "country": "JP",
219
+ "latitude": 33.2622,
220
+ "longitude": 130.2988
221
+ }
222
+ },
223
+ {
224
+ "uid": 43,
225
+ "tag": "hellocycling-kumamoto",
226
+ "meta": {
227
+ "city": "熊本県 (Kumamoto)",
228
+ "name": "HELLO CYCLING Kumamoto",
229
+ "country": "JP",
230
+ "latitude": 32.21207,
231
+ "longitude": 130.75388
232
+ }
233
+ },
234
+ {
235
+ "uid": 47,
236
+ "tag": "hellocycling-okinawa",
237
+ "meta": {
238
+ "city": "沖縄県 (Okinawa)",
239
+ "name": "HELLO CYCLING Okinawa",
240
+ "country": "JP",
241
+ "latitude": 26.2127,
242
+ "longitude": 127.6828
243
+ }
244
+ }
245
+ ],
246
+ "system": "hellocycling",
247
+ "class": "HelloCycling"
248
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "joco-new-york",
5
+ "meta": {
6
+ "city": "New York",
7
+ "name": "JOCO New York",
8
+ "country": "US",
9
+ "company": [
10
+ "BEAM BIKE CORP.",
11
+ "JOCO"
12
+ ],
13
+ "latitude": 40.7572,
14
+ "longitude": -73.9859,
15
+ "ebikes": true
16
+ },
17
+ "feed_url": "https://platform.api.gourban.services/v1/joco/front/physical-stations"
18
+ }
19
+ ],
20
+ "system": "joco",
21
+ "class": "Joco"
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "system": "keolis",
3
+ "class": {
4
+ "KeolisSTAR": {
5
+ "instances": [
6
+ {
7
+ "tag": "le-velo-star",
8
+ "meta": {
9
+ "latitude": 48.114167,
10
+ "country": "FR",
11
+ "name": "LE vélo Star",
12
+ "longitude": -1.680833,
13
+ "city": "Rennes",
14
+ "company": ["Keolis", "Rennes Metropole"],
15
+ "source": "https://data.explore.star.fr/explore/dataset/vls-stations-etat-tr/"
16
+ },
17
+ "dataset": "vls-stations-etat-tr"
18
+ }
19
+ ]
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "kolumbus-rogaland",
5
+ "bbox": [[58.3935, 4.8855], [59.6411, 6.7337]],
6
+ "meta": {
7
+ "country": "NO",
8
+ "city": "Rogaland",
9
+ "name": "Bysykkelen",
10
+ "latitude": 58.9689,
11
+ "longitude": 5.7310,
12
+ "ebikes": true
13
+ }
14
+ }
15
+ ],
16
+ "system": "kolumbus",
17
+ "class": "Kolumbus"
18
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "lastenvelo-freiburg",
5
+ "meta": {
6
+ "name": "LastenVelo Freiburg",
7
+ "city": "Freiburg",
8
+ "country": "DE",
9
+ "latitude": 47.9981,
10
+ "longitude": 7.8439,
11
+ "company": [
12
+ "LastenVelo Freiburg e.V."
13
+ ]
14
+ },
15
+ "bbox": [
16
+ [
17
+ 47.8721,
18
+ 7.5586
19
+ ],
20
+ [
21
+ 48.2426,
22
+ 8.1841
23
+ ]
24
+ ],
25
+ "feed_url": "https://www.lastenvelofreiburg.de/LVF_usage.csv"
26
+ }
27
+ ],
28
+ "system": "lastenvelo",
29
+ "class": "LastenVelo"
30
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "linkbike-penang",
5
+ "meta":{
6
+ "name": "LinkBike",
7
+ "latitude": 5.4192,
8
+ "longitude": 100.3281,
9
+ "country": "MY",
10
+ "city": "Penang",
11
+ "company": ["FAST RENT BIKE (PG) Sdn. Bhd"]
12
+ }
13
+ }
14
+ ],
15
+ "system":"linkbike",
16
+ "class":"LinkBike"
17
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "instances":[
3
+ {
4
+ "tag": "meiob",
5
+ "meta":{
6
+ "city": "Médio Tejo",
7
+ "name": "meioB",
8
+ "latitude": 39.6024,
9
+ "longitude": -8.4069,
10
+ "country": "PT",
11
+ "company": ["CIM Médio Tejo"]
12
+ },
13
+ "endpoint": "https://meiob.pt/mapa-rede/"
14
+ }
15
+ ],
16
+ "system":"meiob",
17
+ "class":"Meiob"
18
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "passofundo",
5
+ "meta": {
6
+ "city": "Passo Fundo",
7
+ "name": "Passo Fundo Vai de Bici",
8
+ "latitude": -28.2555,
9
+ "longitude": -52.3981,
10
+ "country": "BR"
11
+ },
12
+ "feed_url": "https://pfvaidebici.mobhis.com.br/"
13
+ },
14
+ {
15
+ "tag": "cascavel",
16
+ "meta": {
17
+ "city": "Cascavel",
18
+ "name": "Cascavel Vai de Bici",
19
+ "latitude": -24.9558,
20
+ "longitude": -53.4566,
21
+ "country": "BR"
22
+ },
23
+ "feed_url": "https://www.cascavelvaidebici.mobhis.com.br/"
24
+ },
25
+ {
26
+ "tag": "integrabike",
27
+ "meta": {
28
+ "city": "Sorocaba",
29
+ "name": "Integrabike",
30
+ "latitude": -23.5015,
31
+ "longitude": -47.4526,
32
+ "country": "BR",
33
+ "company": [
34
+ "Prefeiture de Sorocaba",
35
+ "Urbes"
36
+ ]
37
+ },
38
+ "feed_url": "https://integrabike.mobhis.com.br/"
39
+ }
40
+ ],
41
+ "system": "mobhis",
42
+ "class": "Mobhis"
43
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "instances": [
3
+ {
4
+ "tag": "mibisivalencia",
5
+ "ebikes": false,
6
+ "feed_url": "https://www.mibisivalencia.es/mapa/mapa.php",
7
+ "meta": {
8
+ "city": "Valencia, área metropolitana",
9
+ "country": "ES",
10
+ "name": "MIBISI",
11
+ "latitude": 39.4745,
12
+ "longitude": -0.4189,
13
+ "instances": [
14
+ {
15
+ "tag": "horta-sud-en-bici",
16
+ "meta": {
17
+ "city": "Aldaia, Alaquàs, Quart de Poblet, Xirivella",
18
+ "country": "ES",
19
+ "name": "Horta Sud en bici",
20
+ "latitude": 39.4696,
21
+ "longitude": -0.4605
22
+ }
23
+ },
24
+ {
25
+ "tag": "xufabike",
26
+ "meta": {
27
+ "city": "Alboraia",
28
+ "country": "ES",
29
+ "name": "XufaBike",
30
+ "latitude": 39.4988,
31
+ "longitude": -0.3511
32
+ }
33
+ },
34
+ {
35
+ "tag": "bicimeliana",
36
+ "meta": {
37
+ "city": "Meliana",
38
+ "country": "ES",
39
+ "name": "BiciMeliana",
40
+ "latitude": 39.5285,
41
+ "longitude": -0.3480
42
+ }
43
+ },
44
+ {
45
+ "tag": "carraixet-bici",
46
+ "meta": {
47
+ "city": "Alfara del Patriarca, Foios, Bonrepòs i Mirambell, Vinales",
48
+ "country": "ES",
49
+ "name": "Carraixet Bici",
50
+ "latitude": 39.5384,
51
+ "longitude": -0.3715
52
+ }
53
+ }
54
+ ]
55
+ }
56
+ },
57
+ {
58
+ "tag": "bicisanvi",
59
+ "ebikes": false,
60
+ "feed_url": "https://www.bicisanvi.es/online.php",
61
+ "meta": {
62
+ "city": "Sant Vicent del Raspeig",
63
+ "country": "ES",
64
+ "name": "Bicisanvi",
65
+ "latitude": 38.39611,
66
+ "longitude": -0.5236
67
+ }
68
+ }
69
+ ],
70
+ "system": "movus",
71
+ "class": "Movus"
72
+ }