touringplans 0.2.4 → 0.2.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0da97845b2da0509a8c7999d4ddcf211612a473068c00a1268bc47c057da3761
4
- data.tar.gz: 511482b523ec5d57129f407d36e5c277dde5157926d14c29d5744151596eb1ce
3
+ metadata.gz: b4a5e0a87f8867cbaa7be8227ac9eb882f54f31cebcd2c6ecb41349ef2771bbe
4
+ data.tar.gz: 862facc7e52628971cef5a425647537a11558329acc81856c7854a246a7ce39f
5
5
  SHA512:
6
- metadata.gz: 567a893c932d56c8b46a33566586cbed6b50fa40401b07bd2d2d28816b166001c10829116eeb6907d508e34f73feb5d8ad6e0bd78356152b0dd7a3fd99eeddbb
7
- data.tar.gz: 286698b9e01f41044a0ee5be4348422207b77b1d9e50b173f8100e723fcb1e50e377b02e7e980bd81267fb063d606a50c993a4b74550e3697f3f84e2fc7d1aa2
6
+ metadata.gz: 3471c89d2e5486077d1b133578fad58bdb0be3d0db12fb72a98e9864f86e4a8a078599ccca7b9ea25d58ede468e8d1136da3ced631114344d63eeae31c64bff8
7
+ data.tar.gz: fa0d2478a3b533959a056e7656223d7e659fd356848edc13ecfec6a579be5e448402fb087fe63079edee9b8423e57103579c88bcc4913c6670e3ba262f2cd382
data/.version CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.9
data/lib/routes.yml ADDED
@@ -0,0 +1,802 @@
1
+ ---
2
+ magic_kingdom_dining:
3
+ method: get
4
+ path: "/magic-kingdom/dining.json"
5
+ magic_kingdom_attractions:
6
+ method: get
7
+ path: "/magic-kingdom/attractions.json"
8
+ animal_kingdom_dining:
9
+ method: get
10
+ path: "/animal-kingdom/dining.json"
11
+ animal_kingdom_attractions:
12
+ method: get
13
+ path: "/animal-kingdom/attractions.json"
14
+ epcot_dining:
15
+ method: get
16
+ path: "/epcot/dining.json"
17
+ epcot_attractions:
18
+ method: get
19
+ path: "/epcot/attractions.json"
20
+ hollywood_studios_dining:
21
+ method: get
22
+ path: "/hollywood-studios/dining.json"
23
+ hollywood_studios_attractions:
24
+ method: get
25
+ path: "/hollywood-studios/attractions.json"
26
+ walt_disney_world_hotels:
27
+ method: get
28
+ path: "/walt-disney-world/hotels.json"
29
+ walt_disney_world_campground:
30
+ method: get
31
+ path: "/walt-disney-world/hotels.json"
32
+ walt_disney_world_deluxe_hotels:
33
+ method: get
34
+ path: "/walt-disney-world/hotels.json"
35
+ walt_disney_world_deluxe_villas:
36
+ method: get
37
+ path: "/walt-disney-world/hotels.json"
38
+ walt_disney_world_moderate_hotels:
39
+ method: get
40
+ path: "/walt-disney-world/hotels.json"
41
+ walt_disney_world_value_hotels:
42
+ method: get
43
+ path: "/walt-disney-world/hotels.json"
44
+ walt_disney_world_disney_springs_resorts:
45
+ method: get
46
+ path: "/walt-disney-world/hotels.json"
47
+ magic_kingdom_attractions_astro_orbiter:
48
+ method: get
49
+ path: "/magic-kingdom/attractions/astro-orbiter.json"
50
+ magic_kingdom_attractions_barnstormer:
51
+ method: get
52
+ path: "/magic-kingdom/attractions/barnstormer.json"
53
+ magic_kingdom_attractions_bibbidi_bobbidi_boutique:
54
+ method: get
55
+ path: "/magic-kingdom/attractions/bibbidi-bobbidi-boutique.json"
56
+ magic_kingdom_attractions_big_thunder_mountain_railroad:
57
+ method: get
58
+ path: "/magic-kingdom/attractions/big-thunder-mountain-railroad.json"
59
+ magic_kingdom_attractions_buzz_lightyears_space_ranger_spin:
60
+ method: get
61
+ path: "/magic-kingdom/attractions/buzz-lightyears-space-ranger-spin.json"
62
+ magic_kingdom_attractions_casey_jr_splash_n_soak_station:
63
+ method: get
64
+ path: "/magic-kingdom/attractions/casey-jr-splash-n-soak-station.json"
65
+ magic_kingdom_attractions_caseys_corner_pianist:
66
+ method: get
67
+ path: "/magic-kingdom/attractions/caseys-corner-pianist.json"
68
+ magic_kingdom_attractions_cosmic_dance_party:
69
+ method: get
70
+ path: "/magic-kingdom/attractions/cosmic-dance-party.json"
71
+ magic_kingdom_attractions_country_bear_jamboree:
72
+ method: get
73
+ path: "/magic-kingdom/attractions/country-bear-jamboree.json"
74
+ magic_kingdom_attractions_dapper_dans:
75
+ method: get
76
+ path: "/magic-kingdom/attractions/dapper-dans.json"
77
+ magic_kingdom_attractions_festival_fantasy_parade:
78
+ method: get
79
+ path: "/magic-kingdom/attractions/festival-fantasy-parade.json"
80
+ magic_kingdom_attractions_dumbo_the_flying_elephant:
81
+ method: get
82
+ path: "/magic-kingdom/attractions/dumbo-the-flying-elephant.json"
83
+ magic_kingdom_attractions_enchanted_tales_with_belle:
84
+ method: get
85
+ path: "/magic-kingdom/attractions/enchanted-tales-with-belle.json"
86
+ magic_kingdom_attractions_flag_retreat:
87
+ method: get
88
+ path: "/magic-kingdom/attractions/flag-retreat.json"
89
+ magic_kingdom_attractions_frontierland_shootin_arcade:
90
+ method: get
91
+ path: "/magic-kingdom/attractions/frontierland-shootin-arcade.json"
92
+ magic_kingdom_attractions_hall_of_presidents:
93
+ method: get
94
+ path: "/magic-kingdom/attractions/hall-of-presidents.json"
95
+ magic_kingdom_attractions_haunted_mansion:
96
+ method: get
97
+ path: "/magic-kingdom/attractions/haunted-mansion.json"
98
+ magic_kingdom_attractions_frontierland_hoedown:
99
+ method: get
100
+ path: "/magic-kingdom/attractions/frontierland-hoedown.json"
101
+ magic_kingdom_attractions_its_a_small_world:
102
+ method: get
103
+ path: "/magic-kingdom/attractions/its-a-small-world.json"
104
+ magic_kingdom_attractions_jungle_cruise:
105
+ method: get
106
+ path: "/magic-kingdom/attractions/jungle-cruise.json"
107
+ magic_kingdom_attractions_magic_kingdom_welcome_show:
108
+ method: get
109
+ path: "/magic-kingdom/attractions/magic-kingdom-welcome-show.json"
110
+ magic_kingdom_attractions_liberty_square_riverboat:
111
+ method: get
112
+ path: "/magic-kingdom/attractions/liberty-square-riverboat.json"
113
+ magic_kingdom_attractions_mad_tea_party:
114
+ method: get
115
+ path: "/magic-kingdom/attractions/mad-tea-party.json"
116
+ magic_kingdom_attractions_magic_carpets_of_aladdin:
117
+ method: get
118
+ path: "/magic-kingdom/attractions/magic-carpets-of-aladdin.json"
119
+ magic_kingdom_attractions_main_street_philharmonic:
120
+ method: get
121
+ path: "/magic-kingdom/attractions/main-street-philharmonic.json"
122
+ magic_kingdom_attractions_main_street_trolley_parade:
123
+ method: get
124
+ path: "/magic-kingdom/attractions/main-street-trolley-parade.json"
125
+ magic_kingdom_attractions_many_adventures_of_winnie_the_pooh:
126
+ method: get
127
+ path: "/magic-kingdom/attractions/many-adventures-of-winnie-the-pooh.json"
128
+ magic_kingdom_attractions_ariels_grotto:
129
+ method: get
130
+ path: "/magic-kingdom/attractions/ariels-grotto.json"
131
+ magic_kingdom_attractions_princess_fairytale_hall_elena_cinderella:
132
+ method: get
133
+ path: "/magic-kingdom/attractions/princess-fairytale-hall-elena-cinderella.json"
134
+ magic_kingdom_attractions_petes_silly_sideshow_goofy_donald:
135
+ method: get
136
+ path: "/magic-kingdom/attractions/petes-silly-sideshow-goofy-donald.json"
137
+ magic_kingdom_attractions_petes_silly_sideshow_minnie_daisy:
138
+ method: get
139
+ path: "/magic-kingdom/attractions/petes-silly-sideshow-minnie-daisy.json"
140
+ magic_kingdom_attractions_town_square_theater_mickey_mouse:
141
+ method: get
142
+ path: "/magic-kingdom/attractions/town-square-theater-mickey-mouse.json"
143
+ magic_kingdom_attractions_princess_fairytale_hall_rapunzel_tiana:
144
+ method: get
145
+ path: "/magic-kingdom/attractions/princess-fairytale-hall-rapunzel-tiana.json"
146
+ magic_kingdom_attractions_town_square_theater_tinker_bell:
147
+ method: get
148
+ path: "/magic-kingdom/attractions/town-square-theater-tinker-bell.json"
149
+ magic_kingdom_attractions_mickeys_philharmagic:
150
+ method: get
151
+ path: "/magic-kingdom/attractions/mickeys-philharmagic.json"
152
+ magic_kingdom_attractions_mickeys_royal_friendship_faire:
153
+ method: get
154
+ path: "/magic-kingdom/attractions/mickeys-royal-friendship-faire.json"
155
+ magic_kingdom_attractions_minnies_wonderful_christmastime_fireworks:
156
+ method: get
157
+ path: "/magic-kingdom/attractions/minnies-wonderful-christmastime-fireworks.json"
158
+ magic_kingdom_attractions_monsters_inc_laugh_floor:
159
+ method: get
160
+ path: "/magic-kingdom/attractions/monsters-inc-laugh-floor.json"
161
+ magic_kingdom_attractions_move_it_shake_it_mousekedance_it_street_party:
162
+ method: get
163
+ path: "/magic-kingdom/attractions/move-it-shake-it-mousekedance-it-street-party.json"
164
+ magic_kingdom_attractions_once_upon_a_time:
165
+ method: get
166
+ path: "/magic-kingdom/attractions/once-upon-a-time.json"
167
+ magic_kingdom_attractions_peter_pans_flight:
168
+ method: get
169
+ path: "/magic-kingdom/attractions/peter-pans-flight.json"
170
+ magic_kingdom_attractions_a_pirates_adventure_treasures_of_seven_seas:
171
+ method: get
172
+ path: "/magic-kingdom/attractions/a-pirates-adventure-treasures-of-seven-seas.json"
173
+ magic_kingdom_attractions_pirates_of_the_caribbean:
174
+ method: get
175
+ path: "/magic-kingdom/attractions/pirates-of-the-caribbean.json"
176
+ magic_kingdom_attractions_prince_charming_regal_carrousel:
177
+ method: get
178
+ path: "/magic-kingdom/attractions/prince-charming-regal-carrousel.json"
179
+ magic_kingdom_attractions_seven_dwarfs_mine_train:
180
+ method: get
181
+ path: "/magic-kingdom/attractions/seven-dwarfs-mine-train.json"
182
+ magic_kingdom_attractions_space_mountain:
183
+ method: get
184
+ path: "/magic-kingdom/attractions/space-mountain.json"
185
+ magic_kingdom_attractions_splash_mountain:
186
+ method: get
187
+ path: "/magic-kingdom/attractions/splash-mountain.json"
188
+ magic_kingdom_attractions_swiss_family_treehouse:
189
+ method: get
190
+ path: "/magic-kingdom/attractions/swiss-family-treehouse.json"
191
+ magic_kingdom_attractions_tom_sawyer_island:
192
+ method: get
193
+ path: "/magic-kingdom/attractions/tom-sawyer-island.json"
194
+ magic_kingdom_attractions_tomorrowland_speedway:
195
+ method: get
196
+ path: "/magic-kingdom/attractions/tomorrowland-speedway.json"
197
+ magic_kingdom_attractions_tomorrowland_transit_authority_peoplemover:
198
+ method: get
199
+ path: "/magic-kingdom/attractions/tomorrowland-transit-authority-peoplemover.json"
200
+ magic_kingdom_attractions_under_the_sea:
201
+ method: get
202
+ path: "/magic-kingdom/attractions/under-the-sea.json"
203
+ magic_kingdom_attractions_walt_disney_world_railroad_fantasyland_station:
204
+ method: get
205
+ path: "/magic-kingdom/attractions/walt-disney-world-railroad-fantasyland-station.json"
206
+ magic_kingdom_attractions_walt_disney_world_railroad_frontierland_station:
207
+ method: get
208
+ path: "/magic-kingdom/attractions/walt-disney-world-railroad-frontierland-station.json"
209
+ magic_kingdom_attractions_walt_disney_world_railroad_main_street_usa_station:
210
+ method: get
211
+ path: "/magic-kingdom/attractions/walt-disney-world-railroad-main-street-usa-station.json"
212
+ magic_kingdom_attractions_walt_disneys_carousel_of_progress:
213
+ method: get
214
+ path: "/magic-kingdom/attractions/walt-disneys-carousel-of-progress.json"
215
+ magic_kingdom_attractions_enchanted_tiki_room:
216
+ method: get
217
+ path: "/magic-kingdom/attractions/enchanted-tiki-room.json"
218
+ animal_kingdom_attractions_affection_section:
219
+ method: get
220
+ path: "/animal-kingdom/attractions/affection-section.json"
221
+ animal_kingdom_attractions_animal_encounters_up_close_interactions:
222
+ method: get
223
+ path: "/animal-kingdom/attractions/animal-encounters-up-close-interactions.json"
224
+ animal_kingdom_attractions_animation_experience:
225
+ method: get
226
+ path: "/animal-kingdom/attractions/animation-experience.json"
227
+ animal_kingdom_attractions_avatar_flight_of_passage:
228
+ method: get
229
+ path: "/animal-kingdom/attractions/avatar-flight-of-passage.json"
230
+ animal_kingdom_attractions_bollywood_beats:
231
+ method: get
232
+ path: "/animal-kingdom/attractions/bollywood-beats.json"
233
+ animal_kingdom_attractions_boneyard:
234
+ method: get
235
+ path: "/animal-kingdom/attractions/boneyard.json"
236
+ animal_kingdom_attractions_festival_of_the_lion_king:
237
+ method: get
238
+ path: "/animal-kingdom/attractions/festival-of-the-lion-king.json"
239
+ animal_kingdom_attractions_chakrandi:
240
+ method: get
241
+ path: "/animal-kingdom/attractions/chakrandi.json"
242
+ animal_kingdom_attractions_conservation_station:
243
+ method: get
244
+ path: "/animal-kingdom/attractions/conservation-station.json"
245
+ animal_kingdom_attractions_dinosaur:
246
+ method: get
247
+ path: "/animal-kingdom/attractions/dinosaur.json"
248
+ animal_kingdom_attractions_discovery_island_carnivale:
249
+ method: get
250
+ path: "/animal-kingdom/attractions/discovery-island-carnivale.json"
251
+ animal_kingdom_attractions_discovery_island_trails:
252
+ method: get
253
+ path: "/animal-kingdom/attractions/discovery-island-trails.json"
254
+ animal_kingdom_attractions_divine:
255
+ method: get
256
+ path: "/animal-kingdom/attractions/divine.json"
257
+ animal_kingdom_attractions_dj_anaan:
258
+ method: get
259
+ path: "/animal-kingdom/attractions/dj-anaan.json"
260
+ animal_kingdom_attractions_expedition_everest:
261
+ method: get
262
+ path: "/animal-kingdom/attractions/expedition-everest.json"
263
+ animal_kingdom_attractions_feathered_friends_in_flight:
264
+ method: get
265
+ path: "/animal-kingdom/attractions/feathered-friends-in-flight.json"
266
+ animal_kingdom_attractions_finding_nemo_the_musical:
267
+ method: get
268
+ path: "/animal-kingdom/attractions/finding-nemo-the-musical.json"
269
+ animal_kingdom_attractions_gorilla_falls_exploration_trail:
270
+ method: get
271
+ path: "/animal-kingdom/attractions/gorilla-falls-exploration-trail.json"
272
+ animal_kingdom_attractions_habitat_habit:
273
+ method: get
274
+ path: "/animal-kingdom/attractions/habitat-habit.json"
275
+ animal_kingdom_attractions_hakuna_matata_time_dance_party:
276
+ method: get
277
+ path: "/animal-kingdom/attractions/hakuna-matata-time-dance-party.json"
278
+ animal_kingdom_attractions_harambe_acrobats:
279
+ method: get
280
+ path: "/animal-kingdom/attractions/harambe-acrobats.json"
281
+ animal_kingdom_attractions_wildlife_parti:
282
+ method: get
283
+ path: "/animal-kingdom/attractions/wildlife-parti.json"
284
+ animal_kingdom_attractions_tough_to_be_a_bug:
285
+ method: get
286
+ path: "/animal-kingdom/attractions/tough-to-be-a-bug.json"
287
+ animal_kingdom_attractions_kali_river_rapids:
288
+ method: get
289
+ path: "/animal-kingdom/attractions/kali-river-rapids.json"
290
+ animal_kingdom_attractions_karibu_sisters:
291
+ method: get
292
+ path: "/animal-kingdom/attractions/karibu-sisters.json"
293
+ animal_kingdom_attractions_kilimanjaro_safaris:
294
+ method: get
295
+ path: "/animal-kingdom/attractions/kilimanjaro-safaris.json"
296
+ animal_kingdom_attractions_kora_tinga_tinga:
297
+ method: get
298
+ path: "/animal-kingdom/attractions/kora-tinga-tinga.json"
299
+ animal_kingdom_attractions_maharajah_jungle_trek:
300
+ method: get
301
+ path: "/animal-kingdom/attractions/maharajah-jungle-trek.json"
302
+ animal_kingdom_attractions_adventurers_outpost:
303
+ method: get
304
+ path: "/animal-kingdom/attractions/adventurers-outpost.json"
305
+ animal_kingdom_attractions_navi_river_journey:
306
+ method: get
307
+ path: "/animal-kingdom/attractions/navi-river-journey.json"
308
+ animal_kingdom_attractions_swotu_waya_navi_drum_ceremony:
309
+ method: get
310
+ path: "/animal-kingdom/attractions/swotu-waya-navi-drum-ceremony.json"
311
+ animal_kingdom_attractions_pandora_utility_suit:
312
+ method: get
313
+ path: "/animal-kingdom/attractions/pandora-utility-suit.json"
314
+ animal_kingdom_attractions_tam_tam_congo:
315
+ method: get
316
+ path: "/animal-kingdom/attractions/tam-tam-congo.json"
317
+ animal_kingdom_attractions_tree_of_life_nighttime_awakenings:
318
+ method: get
319
+ path: "/animal-kingdom/attractions/tree-of-life-nighttime-awakenings.json"
320
+ animal_kingdom_attractions_triceratop_spin:
321
+ method: get
322
+ path: "/animal-kingdom/attractions/triceratop-spin.json"
323
+ animal_kingdom_attractions_up_great_bird_adventure:
324
+ method: get
325
+ path: "/animal-kingdom/attractions/up-great-bird-adventure.json"
326
+ animal_kingdom_attractions_valley_of_moara:
327
+ method: get
328
+ path: "/animal-kingdom/attractions/valley-of-moara.json"
329
+ animal_kingdom_attractions_viva_gaia_street_band:
330
+ method: get
331
+ path: "/animal-kingdom/attractions/viva-gaia-street-band.json"
332
+ animal_kingdom_attractions_wilderness_explorers:
333
+ method: get
334
+ path: "/animal-kingdom/attractions/wilderness-explorers.json"
335
+ animal_kingdom_attractions_wildlife_express_train_africa_station:
336
+ method: get
337
+ path: "/animal-kingdom/attractions/wildlife-express-train-africa-station.json"
338
+ animal_kingdom_attractions_wildlife_express_train_rafikis_planet_watch_station:
339
+ method: get
340
+ path: "/animal-kingdom/attractions/wildlife-express-train-rafikis-planet-watch-station.json"
341
+ animal_kingdom_attractions_winged_encounters_kingdom_takes_flight:
342
+ method: get
343
+ path: "/animal-kingdom/attractions/winged-encounters-kingdom-takes-flight.json"
344
+ epcot_attractions_alberta_bound:
345
+ method: get
346
+ path: "/epcot/attractions/alberta-bound.json"
347
+ epcot_attractions_american_adventure:
348
+ method: get
349
+ path: "/epcot/attractions/american-adventure.json"
350
+ epcot_attractions_awesome_planet:
351
+ method: get
352
+ path: "/epcot/attractions/awesome-planet.json"
353
+ epcot_attractions_beauty_beast_sing_along:
354
+ method: get
355
+ path: "/epcot/attractions/beauty-beast-sing-along.json"
356
+ epcot_attractions_canada_far_wide_in_circle_vision_360:
357
+ method: get
358
+ path: "/epcot/attractions/canada-far-wide-in-circle-vision-360.json"
359
+ epcot_attractions_candlelight_processional:
360
+ method: get
361
+ path: "/epcot/attractions/candlelight-processional.json"
362
+ epcot_attractions_club_cool:
363
+ method: get
364
+ path: "/epcot/attractions/club-cool.json"
365
+ epcot_attractions_movie_preview:
366
+ method: get
367
+ path: "/epcot/attractions/movie-preview.json"
368
+ epcot_attractions_disney_on_broadway_concert:
369
+ method: get
370
+ path: "/epcot/attractions/disney-on-broadway-concert.json"
371
+ epcot_attractions_rose_crown_pub_musician:
372
+ method: get
373
+ path: "/epcot/attractions/rose-crown-pub-musician.json"
374
+ epcot_attractions_frozen_ever_after:
375
+ method: get
376
+ path: "/epcot/attractions/frozen-ever-after.json"
377
+ epcot_attractions_garden_rocks_concert_series:
378
+ method: get
379
+ path: "/epcot/attractions/garden-rocks-concert-series.json"
380
+ epcot_attractions_gran_fiesta_tour_starring_the_three_caballeros:
381
+ method: get
382
+ path: "/epcot/attractions/gran-fiesta-tour-starring-the-three-caballeros.json"
383
+ epcot_attractions_guardians_galaxy_awesome_mix_live:
384
+ method: get
385
+ path: "/epcot/attractions/guardians-galaxy-awesome-mix-live.json"
386
+ epcot_attractions_impressions_de_france:
387
+ method: get
388
+ path: "/epcot/attractions/impressions-de-france.json"
389
+ epcot_attractions_jammitors:
390
+ method: get
391
+ path: "/epcot/attractions/jammitors.json"
392
+ epcot_attractions_journey_into_imagination_with_figment:
393
+ method: get
394
+ path: "/epcot/attractions/journey-into-imagination-with-figment.json"
395
+ epcot_attractions_joyful_gospel_celebration:
396
+ method: get
397
+ path: "/epcot/attractions/joyful-gospel-celebration.json"
398
+ epcot_attractions_living_with_the_land:
399
+ method: get
400
+ path: "/epcot/attractions/living-with-the-land.json"
401
+ epcot_attractions_mariachi_cobre:
402
+ method: get
403
+ path: "/epcot/attractions/mariachi-cobre.json"
404
+ epcot_attractions_matsuriza:
405
+ method: get
406
+ path: "/epcot/attractions/matsuriza.json"
407
+ epcot_attractions_royal_sommerhus:
408
+ method: get
409
+ path: "/epcot/attractions/royal-sommerhus.json"
410
+ epcot_attractions_mischievous_magical_barn_santa_in_norway:
411
+ method: get
412
+ path: "/epcot/attractions/mischievous-magical-barn-santa-in-norway.json"
413
+ epcot_attractions_mission_space_green:
414
+ method: get
415
+ path: "/epcot/attractions/mission-space-green.json"
416
+ epcot_attractions_mission_space_orange:
417
+ method: get
418
+ path: "/epcot/attractions/mission-space-orange.json"
419
+ epcot_attractions_reflections_of_china:
420
+ method: get
421
+ path: "/epcot/attractions/reflections-of-china.json"
422
+ epcot_attractions_the_seas_main_tank_and_exhibits:
423
+ method: get
424
+ path: "/epcot/attractions/the-seas-main-tank-and-exhibits.json"
425
+ epcot_attractions_seas_with_nemo_friends:
426
+ method: get
427
+ path: "/epcot/attractions/seas-with-nemo-friends.json"
428
+ epcot_attractions_sergio:
429
+ method: get
430
+ path: "/epcot/attractions/sergio.json"
431
+ epcot_attractions_serveur_amusant:
432
+ method: get
433
+ path: "/epcot/attractions/serveur-amusant.json"
434
+ epcot_attractions_soarin:
435
+ method: get
436
+ path: "/epcot/attractions/soarin.json"
437
+ epcot_attractions_spaceship_earth:
438
+ method: get
439
+ path: "/epcot/attractions/spaceship-earth.json"
440
+ epcot_attractions_test_track:
441
+ method: get
442
+ path: "/epcot/attractions/test-track.json"
443
+ epcot_attractions_turtle_talk_with_crush:
444
+ method: get
445
+ path: "/epcot/attractions/turtle-talk-with-crush.json"
446
+ epcot_attractions_voices_of_liberty:
447
+ method: get
448
+ path: "/epcot/attractions/voices-of-liberty.json"
449
+ epcot_attractions_walt_disney_imagineering_presents_epcot_experience:
450
+ method: get
451
+ path: "/epcot/attractions/walt-disney-imagineering-presents-epcot-experience.json"
452
+ hollywood_studios_attractions_alien_swirling_saucers:
453
+ method: get
454
+ path: "/hollywood-studios/attractions/alien-swirling-saucers.json"
455
+ hollywood_studios_attractions_beauty_and_the_beast_live_on_stage:
456
+ method: get
457
+ path: "/hollywood-studios/attractions/beauty-and-the-beast-live-on-stage.json"
458
+ hollywood_studios_attractions_celebrate_with_incredibles_at_pixar_place:
459
+ method: get
460
+ path: "/hollywood-studios/attractions/celebrate-with-incredibles-at-pixar-place.json"
461
+ hollywood_studios_attractions_disney_junior_dance_party:
462
+ method: get
463
+ path: "/hollywood-studios/attractions/disney-junior-dance-party.json"
464
+ hollywood_studios_attractions_disney_movie_magic:
465
+ method: get
466
+ path: "/hollywood-studios/attractions/disney-movie-magic.json"
467
+ hollywood_studios_attractions_droid_depot:
468
+ method: get
469
+ path: "/hollywood-studios/attractions/droid-depot.json"
470
+ hollywood_studios_attractions_fantasmic:
471
+ method: get
472
+ path: "/hollywood-studios/attractions/fantasmic.json"
473
+ hollywood_studios_attractions_frozen_sing_along_celebration:
474
+ method: get
475
+ path: "/hollywood-studios/attractions/frozen-sing-along-celebration.json"
476
+ hollywood_studios_attractions_indiana_jones_epic_stunt_spectacular:
477
+ method: get
478
+ path: "/hollywood-studios/attractions/indiana-jones-epic-stunt-spectacular.json"
479
+ hollywood_studios_attractions_jedi_training_academy:
480
+ method: get
481
+ path: "/hollywood-studios/attractions/jedi-training-academy.json"
482
+ hollywood_studios_attractions_jingle_bell_jingle_bam:
483
+ method: get
484
+ path: "/hollywood-studios/attractions/jingle-bell-jingle-bam.json"
485
+ hollywood_studios_attractions_lightning_mcqueens_racing_academy:
486
+ method: get
487
+ path: "/hollywood-studios/attractions/lightning-mcqueens-racing-academy.json"
488
+ hollywood_studios_attractions_minnie_and_mickey_at_red_carpet_dreams:
489
+ method: get
490
+ path: "/hollywood-studios/attractions/minnie-and-mickey-at-red-carpet-dreams.json"
491
+ hollywood_studios_attractions_mickey_minnies_runaway_railway:
492
+ method: get
493
+ path: "/hollywood-studios/attractions/mickey-minnies-runaway-railway.json"
494
+ hollywood_studios_attractions_millennium_falcon_smugglers_run:
495
+ method: get
496
+ path: "/hollywood-studios/attractions/millennium-falcon-smugglers-run.json"
497
+ hollywood_studios_attractions_muppet_vision_3d:
498
+ method: get
499
+ path: "/hollywood-studios/attractions/muppet-vision-3d.json"
500
+ hollywood_studios_attractions_rock_n_roller_coaster:
501
+ method: get
502
+ path: "/hollywood-studios/attractions/rock-n-roller-coaster.json"
503
+ hollywood_studios_attractions_savis_workshop:
504
+ method: get
505
+ path: "/hollywood-studios/attractions/savis-workshop.json"
506
+ hollywood_studios_attractions_slinky_dog_dash:
507
+ method: get
508
+ path: "/hollywood-studios/attractions/slinky-dog-dash.json"
509
+ hollywood_studios_attractions_star_tours:
510
+ method: get
511
+ path: "/hollywood-studios/attractions/star-tours.json"
512
+ hollywood_studios_attractions_star_wars_launch_bay:
513
+ method: get
514
+ path: "/hollywood-studios/attractions/star-wars-launch-bay.json"
515
+ hollywood_studios_attractions_star_wars_launch_bay_encounter_darth_vader:
516
+ method: get
517
+ path: "/hollywood-studios/attractions/star-wars-launch-bay-encounter-darth-vader.json"
518
+ hollywood_studios_attractions_meet_chewbacca:
519
+ method: get
520
+ path: "/hollywood-studios/attractions/meet-chewbacca.json"
521
+ hollywood_studios_attractions_rise_of_the_resistance:
522
+ method: get
523
+ path: "/hollywood-studios/attractions/rise-of-the-resistance.json"
524
+ hollywood_studios_attractions_toy_story_mania:
525
+ method: get
526
+ path: "/hollywood-studios/attractions/toy-story-mania.json"
527
+ hollywood_studios_attractions_tower_of_terror:
528
+ method: get
529
+ path: "/hollywood-studios/attractions/tower-of-terror.json"
530
+ hollywood_studios_attractions_mickey_shorts_theater:
531
+ method: get
532
+ path: "/hollywood-studios/attractions/mickey-shorts-theater.json"
533
+ hollywood_studios_attractions_voyage_of_the_little_mermaid:
534
+ method: get
535
+ path: "/hollywood-studios/attractions/voyage-of-the-little-mermaid.json"
536
+ hollywood_studios_attractions_walt_disney_one_mans_dream:
537
+ method: get
538
+ path: "/hollywood-studios/attractions/walt-disney-one-mans-dream.json"
539
+ hollywood_studios_attractions_wonderful_world_animation:
540
+ method: get
541
+ path: "/hollywood-studios/attractions/wonderful-world-animation.json"
542
+ magic_kingdom_dining_caseys_corner:
543
+ method: get
544
+ path: "/magic-kingdom/dining/caseys-corner.json"
545
+ magic_kingdom_dining_columbia_harbour_house:
546
+ method: get
547
+ path: "/magic-kingdom/dining/columbia-harbour-house.json"
548
+ magic_kingdom_dining_cosmic_rays_starlight_cafe:
549
+ method: get
550
+ path: "/magic-kingdom/dining/cosmic-rays-starlight-cafe.json"
551
+ magic_kingdom_dining_friars_nook:
552
+ method: get
553
+ path: "/magic-kingdom/dining/friars-nook.json"
554
+ magic_kingdom_dining_golden_oak_outpost:
555
+ method: get
556
+ path: "/magic-kingdom/dining/golden-oak-outpost.json"
557
+ magic_kingdom_dining_lunching_pad:
558
+ method: get
559
+ path: "/magic-kingdom/dining/lunching-pad.json"
560
+ magic_kingdom_dining_main_street_bakery:
561
+ method: get
562
+ path: "/magic-kingdom/dining/main-street-bakery.json"
563
+ magic_kingdom_dining_pecos_bill_tall_tale_inn_and_cafe:
564
+ method: get
565
+ path: "/magic-kingdom/dining/pecos-bill-tall-tale-inn-and-cafe.json"
566
+ magic_kingdom_dining_pinocchio_village_haus:
567
+ method: get
568
+ path: "/magic-kingdom/dining/pinocchio-village-haus.json"
569
+ magic_kingdom_dining_tomorrowland_terrace:
570
+ method: get
571
+ path: "/magic-kingdom/dining/tomorrowland-terrace.json"
572
+ magic_kingdom_dining_tortuga_tavern:
573
+ method: get
574
+ path: "/magic-kingdom/dining/tortuga-tavern.json"
575
+ magic_kingdom_dining_be_our_guest:
576
+ method: get
577
+ path: "/magic-kingdom/dining/be-our-guest.json"
578
+ magic_kingdom_dining_cinderellas_royal_table:
579
+ method: get
580
+ path: "/magic-kingdom/dining/cinderellas-royal-table.json"
581
+ magic_kingdom_dining_crystal_palace:
582
+ method: get
583
+ path: "/magic-kingdom/dining/crystal-palace.json"
584
+ magic_kingdom_dining_diamond_horseshoe:
585
+ method: get
586
+ path: "/magic-kingdom/dining/diamond-horseshoe.json"
587
+ magic_kingdom_dining_skipper_canteen:
588
+ method: get
589
+ path: "/magic-kingdom/dining/skipper-canteen.json"
590
+ magic_kingdom_dining_liberty_tree_tavern:
591
+ method: get
592
+ path: "/magic-kingdom/dining/liberty-tree-tavern.json"
593
+ magic_kingdom_dining_plaza_restaurant:
594
+ method: get
595
+ path: "/magic-kingdom/dining/plaza-restaurant.json"
596
+ magic_kingdom_dining_tonys_town_square_restaurant:
597
+ method: get
598
+ path: "/magic-kingdom/dining/tonys-town-square-restaurant.json"
599
+ animal_kingdom_dining_creature_comforts_starbucks:
600
+ method: get
601
+ path: "/animal-kingdom/dining/creature-comforts-starbucks.json"
602
+ animal_kingdom_dining_dino_diner:
603
+ method: get
604
+ path: "/animal-kingdom/dining/dino-diner.json"
605
+ animal_kingdom_dining_flame_tree_barbecue:
606
+ method: get
607
+ path: "/animal-kingdom/dining/flame-tree-barbecue.json"
608
+ animal_kingdom_dining_harambe_market:
609
+ method: get
610
+ path: "/animal-kingdom/dining/harambe-market.json"
611
+ animal_kingdom_dining_mr_kamals:
612
+ method: get
613
+ path: "/animal-kingdom/dining/mr-kamals.json"
614
+ animal_kingdom_dining_pizzafari:
615
+ method: get
616
+ path: "/animal-kingdom/dining/pizzafari.json"
617
+ animal_kingdom_dining_restaurantosaurus:
618
+ method: get
619
+ path: "/animal-kingdom/dining/restaurantosaurus.json"
620
+ animal_kingdom_dining_satuli_canteen:
621
+ method: get
622
+ path: "/animal-kingdom/dining/satuli-canteen.json"
623
+ animal_kingdom_dining_tamu_tamu:
624
+ method: get
625
+ path: "/animal-kingdom/dining/tamu-tamu.json"
626
+ animal_kingdom_dining_yak_yeti_local_food_cafes:
627
+ method: get
628
+ path: "/animal-kingdom/dining/yak-yeti-local-food-cafes.json"
629
+ animal_kingdom_dining_zuris:
630
+ method: get
631
+ path: "/animal-kingdom/dining/zuris.json"
632
+ animal_kingdom_dining_rainforest_cafe_animal_kingdom:
633
+ method: get
634
+ path: "/animal-kingdom/dining/rainforest-cafe-animal-kingdom.json"
635
+ animal_kingdom_dining_tiffins:
636
+ method: get
637
+ path: "/animal-kingdom/dining/tiffins.json"
638
+ animal_kingdom_dining_tusker_house_restaurant:
639
+ method: get
640
+ path: "/animal-kingdom/dining/tusker-house-restaurant.json"
641
+ animal_kingdom_dining_yak_yeti_restaurant:
642
+ method: get
643
+ path: "/animal-kingdom/dining/yak-yeti-restaurant.json"
644
+ epcot_dining_la_cantina_de_san_angel:
645
+ method: get
646
+ path: "/epcot/dining/la-cantina-de-san-angel.json"
647
+ epcot_dining_crepes_emporter:
648
+ method: get
649
+ path: "/epcot/dining/crepes-emporter.json"
650
+ epcot_dining_boulangerie_patisserie_les_halles:
651
+ method: get
652
+ path: "/epcot/dining/boulangerie-patisserie-les-halles.json"
653
+ epcot_dining_katsura_grill:
654
+ method: get
655
+ path: "/epcot/dining/katsura-grill.json"
656
+ epcot_dining_kringla_bakeri_og_kafe:
657
+ method: get
658
+ path: "/epcot/dining/kringla-bakeri-og-kafe.json"
659
+ epcot_dining_lotus_blossom_cafe:
660
+ method: get
661
+ path: "/epcot/dining/lotus-blossom-cafe.json"
662
+ epcot_dining_odyssey:
663
+ method: get
664
+ path: "/epcot/dining/odyssey.json"
665
+ epcot_dining_promenade_refreshments:
666
+ method: get
667
+ path: "/epcot/dining/promenade-refreshments.json"
668
+ epcot_dining_refreshment_outpost_coolpost:
669
+ method: get
670
+ path: "/epcot/dining/refreshment-outpost-coolpost.json"
671
+ epcot_dining_refreshment_port:
672
+ method: get
673
+ path: "/epcot/dining/refreshment-port.json"
674
+ epcot_dining_regal_eagle_smokehouse_craft_drafts_barbecue:
675
+ method: get
676
+ path: "/epcot/dining/regal-eagle-smokehouse-craft-drafts-barbecue.json"
677
+ epcot_dining_sommerfest:
678
+ method: get
679
+ path: "/epcot/dining/sommerfest.json"
680
+ epcot_dining_sunshine_seasons:
681
+ method: get
682
+ path: "/epcot/dining/sunshine-seasons.json"
683
+ epcot_dining_tangierine_cafe:
684
+ method: get
685
+ path: "/epcot/dining/tangierine-cafe.json"
686
+ epcot_dining_travelers_cafe:
687
+ method: get
688
+ path: "/epcot/dining/travelers-cafe.json"
689
+ epcot_dining_yorkshire_county_fish_shop:
690
+ method: get
691
+ path: "/epcot/dining/yorkshire-county-fish-shop.json"
692
+ epcot_dining_akershus_royal_banquet_hall:
693
+ method: get
694
+ path: "/epcot/dining/akershus-royal-banquet-hall.json"
695
+ epcot_dining_biergarten:
696
+ method: get
697
+ path: "/epcot/dining/biergarten.json"
698
+ epcot_dining_le_cellier_steakhouse:
699
+ method: get
700
+ path: "/epcot/dining/le-cellier-steakhouse.json"
701
+ epcot_dining_les_chefs_de_france:
702
+ method: get
703
+ path: "/epcot/dining/les-chefs-de-france.json"
704
+ epcot_dining_coral_reef_restaurant:
705
+ method: get
706
+ path: "/epcot/dining/coral-reef-restaurant.json"
707
+ epcot_dining_creperie_paris:
708
+ method: get
709
+ path: "/epcot/dining/creperie-paris.json"
710
+ epcot_dining_garden_grill_restaurant:
711
+ method: get
712
+ path: "/epcot/dining/garden-grill-restaurant.json"
713
+ epcot_dining_la_hacienda_de_san_angel:
714
+ method: get
715
+ path: "/epcot/dining/la-hacienda-de-san-angel.json"
716
+ epcot_dining_monsieur_paul:
717
+ method: get
718
+ path: "/epcot/dining/monsieur-paul.json"
719
+ epcot_dining_nine_dragons_restaurant:
720
+ method: get
721
+ path: "/epcot/dining/nine-dragons-restaurant.json"
722
+ epcot_dining_restaurant_marrakesh:
723
+ method: get
724
+ path: "/epcot/dining/restaurant-marrakesh.json"
725
+ epcot_dining_rose_and_crown_dining_room:
726
+ method: get
727
+ path: "/epcot/dining/rose-and-crown-dining-room.json"
728
+ epcot_dining_san_angel_inn:
729
+ method: get
730
+ path: "/epcot/dining/san-angel-inn.json"
731
+ epcot_dining_space_220:
732
+ method: get
733
+ path: "/epcot/dining/space-220.json"
734
+ epcot_dining_spice_road_table:
735
+ method: get
736
+ path: "/epcot/dining/spice-road-table.json"
737
+ epcot_dining_takumi_tei:
738
+ method: get
739
+ path: "/epcot/dining/takumi-tei.json"
740
+ epcot_dining_teppan_edo:
741
+ method: get
742
+ path: "/epcot/dining/teppan-edo.json"
743
+ epcot_dining_tokyo_dining:
744
+ method: get
745
+ path: "/epcot/dining/tokyo-dining.json"
746
+ epcot_dining_tutto_italia_ristorante:
747
+ method: get
748
+ path: "/epcot/dining/tutto-italia-ristorante.json"
749
+ epcot_dining_via_napoli:
750
+ method: get
751
+ path: "/epcot/dining/via-napoli.json"
752
+ hollywood_studios_dining_abc_commissary:
753
+ method: get
754
+ path: "/hollywood-studios/dining/abc-commissary.json"
755
+ hollywood_studios_dining_backlot_express:
756
+ method: get
757
+ path: "/hollywood-studios/dining/backlot-express.json"
758
+ hollywood_studios_dining_catalina_eddies:
759
+ method: get
760
+ path: "/hollywood-studios/dining/catalina-eddies.json"
761
+ hollywood_studios_dining_docking_bay_7_food_cargo:
762
+ method: get
763
+ path: "/hollywood-studios/dining/docking-bay-7-food-cargo.json"
764
+ hollywood_studios_dining_min_and_bills_dockside_diner:
765
+ method: get
766
+ path: "/hollywood-studios/dining/min-and-bills-dockside-diner.json"
767
+ hollywood_studios_dining_fairfax_fare:
768
+ method: get
769
+ path: "/hollywood-studios/dining/fairfax-fare.json"
770
+ hollywood_studios_dining_pizzerizzo:
771
+ method: get
772
+ path: "/hollywood-studios/dining/pizzerizzo.json"
773
+ hollywood_studios_dining_ronto_roasters:
774
+ method: get
775
+ path: "/hollywood-studios/dining/ronto-roasters.json"
776
+ hollywood_studios_dining_rosies_all_american_cafe:
777
+ method: get
778
+ path: "/hollywood-studios/dining/rosies-all-american-cafe.json"
779
+ hollywood_studios_dining_trolley_car_cafe:
780
+ method: get
781
+ path: "/hollywood-studios/dining/trolley-car-cafe.json"
782
+ hollywood_studios_dining_woodys_lunch_box:
783
+ method: get
784
+ path: "/hollywood-studios/dining/woodys-lunch-box.json"
785
+ hollywood_studios_dining_50s_prime_time_cafe:
786
+ method: get
787
+ path: "/hollywood-studios/dining/50s-prime-time-cafe.json"
788
+ hollywood_studios_dining_hollywood_brown_derby:
789
+ method: get
790
+ path: "/hollywood-studios/dining/hollywood-brown-derby.json"
791
+ hollywood_studios_dining_hollywood_and_vine:
792
+ method: get
793
+ path: "/hollywood-studios/dining/hollywood-and-vine.json"
794
+ hollywood_studios_dining_mama_melroses_ristorante_italiano:
795
+ method: get
796
+ path: "/hollywood-studios/dining/mama-melroses-ristorante-italiano.json"
797
+ hollywood_studios_dining_roundup_rodeo_bbq:
798
+ method: get
799
+ path: "/hollywood-studios/dining/roundup-rodeo-bbq.json"
800
+ hollywood_studios_dining_scifi_dine_in_theater_restaurant:
801
+ method: get
802
+ path: "/hollywood-studios/dining/scifi-dine-in-theater-restaurant.json"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Touringplans
4
- VERSION = "0.2.4"
4
+ VERSION = "0.2.9"
5
5
  end
data/lib/touringplans.rb CHANGED
@@ -12,6 +12,8 @@ module Touringplans
12
12
  include Dry.Types()
13
13
  end
14
14
 
15
+ GEM_ROOT = File.expand_path("../", __FILE__)
16
+
15
17
  include HTTParty
16
18
  # currently Touring Plans has no verision in its API
17
19
  DEFAULT_API_VERSION = "1"
@@ -82,6 +84,11 @@ module Touringplans
82
84
  path: "/walt-disney-world/hotels.json"
83
85
  },
84
86
  }
87
+
88
+ def self.routes
89
+ ROUTES
90
+ end
91
+
85
92
  # deals solely with how to create access to the resource, the lock of "lock & key"
86
93
  class Connection
87
94
  # concerned only on where it gets the info it needs
@@ -153,6 +160,137 @@ module Touringplans
153
160
  end
154
161
  end
155
162
 
163
+ class RoutesTable
164
+ require 'fileutils'
165
+ def initialize(filename: "routes_table.yml")
166
+ @filename = filename
167
+ end
168
+
169
+ def self.original_routes
170
+ # this method exists so that we can create a yaml file of routes
171
+ tpr = Touringplans.routes
172
+ # convert symbols back to strings
173
+ stringify_keys(tpr)
174
+ # rt_keys = tpr.keys
175
+ # rt_values = tpr.values
176
+ # string_keys = []
177
+
178
+ # rt_keys.each {|k| string_keys << k.to_s}
179
+ # # create new hash with string keys
180
+ # string_keys.zip(rt_values).to_h
181
+ end
182
+
183
+ def self.symbolize_keys(hash)
184
+ hash.inject({}){|result, (key, value)|
185
+ new_key = case key
186
+ when String then key.to_sym
187
+ else key
188
+ end
189
+ new_value = case value
190
+ when Hash then symbolize_keys(value)
191
+ else value
192
+ end
193
+ result[new_key] = new_value
194
+ result
195
+ }
196
+ end
197
+
198
+ def self.stringify_keys(hash)
199
+ # inspired by https://avdi.codes/recursively-symbolize-keys/
200
+ hash.inject({}){|result, (key, value)|
201
+ new_key = case key
202
+ when Symbol then key.to_s
203
+ else key
204
+ end
205
+ new_value = case value
206
+ when Hash then stringify_keys(value)
207
+ else value
208
+ end
209
+ result[new_key] = new_value
210
+ result
211
+ }
212
+ end
213
+
214
+ def self.load_routes_file(routes_relative_file_path: "/routes.yml")
215
+ tp_path = $LOAD_PATH.grep(/touringplans/).last
216
+ routes_file = "#{tp_path}#{routes_relative_file_path}"
217
+ YAML.load(File.read(routes_file))
218
+ end
219
+
220
+
221
+ def self.update_file
222
+ # gather info into hashes
223
+ attractions_routes = _generate_interest_routes_hash("attractions")
224
+ dining_routes = _generate_interest_routes_hash("dining")
225
+ hotels_routes = {} #_generate_interest_routes_hash("hotels")
226
+ updated_routes = original_routes.merge(attractions_routes, dining_routes, hotels_routes)
227
+
228
+ updated_routes_yaml = _convert_hash_to_yaml(updated_routes)
229
+
230
+ file = _initialize_file
231
+ _save_content_to_file(file, updated_routes_yaml)
232
+ end
233
+
234
+ def self._initialize_file
235
+ # delete old file if it exits
236
+ lib_dir = FileUtils.getwd() + "/lib"
237
+ routes_file = "#{lib_dir}/routes.yml"
238
+
239
+ # ensure the file exists
240
+ touched_routes_file_array = FileUtils.touch(routes_file)
241
+ touched_routes_file = touched_routes_file_array.first
242
+ end
243
+
244
+ def self._generate_interest_routes_hash(interest)
245
+ interest_venues = Touringplans.list_all(interest)
246
+ interest_routes = {}
247
+
248
+ interest_venues.each do |iv|
249
+ new_route = self._generate_interest_route(iv.venue_permalink, interest, iv.permalink)
250
+ key = new_route.keys.first
251
+ values = new_route[key]
252
+ interest_routes[key] = values
253
+ end
254
+
255
+ interest_routes
256
+ end
257
+
258
+ def self._generate_interest_route(venue_permalink, interest_permalink, place_permalink)
259
+ # {magic_kingdom_attractions_haunted_mansion: {
260
+ # method: "get",
261
+ # path: "/magic-kingdom/attractions/haunted-mansion.json"
262
+ # }
263
+ # }
264
+ path = "/#{venue_permalink}/#{interest_permalink}/#{place_permalink}"
265
+ key = path.to_s.downcase.gsub("/", " ").gsub("-", " ").strip
266
+ key = key.gsub(" ", "_")
267
+ method = "get"
268
+ format = "json"
269
+
270
+ hash = { key => { "method".to_s => "get",
271
+ "path".to_s => "#{path}.#{format}"
272
+ }
273
+ }
274
+
275
+ hash
276
+ end
277
+
278
+ def self._convert_hash_to_yaml(hash)
279
+ hash.to_yaml
280
+ end
281
+
282
+ def self._save_content_to_file(file, content)
283
+ new_file = File.open(file, "w")
284
+ new_file.write(content)
285
+ new_file.close
286
+ end
287
+
288
+ def self._read_file_to_terminal(file)
289
+ new_file = File.open(file, "r")
290
+ new_file.close
291
+ end
292
+
293
+ end
156
294
  # model with the attributes
157
295
  class CounterServiceLocation < Dry::Struct
158
296
  transform_keys(&:to_sym)
@@ -212,6 +350,7 @@ module Touringplans
212
350
  attribute :kosher_available, Types::Params::Bool
213
351
  attribute :dinable_id, Types::Params::Integer
214
352
  attribute :dinable_type, Types::String.optional
353
+ attribute :venue_permalink, Types::String.optional
215
354
  end
216
355
 
217
356
  # model with the attributes
@@ -273,6 +412,7 @@ module Touringplans
273
412
  attribute :kosher_available, Types::Params::Bool
274
413
  attribute :dinable_id, Types::Params::Integer
275
414
  attribute :dinable_type, Types::String.optional
415
+ attribute :venue_permalink, Types::String.optional
276
416
  end
277
417
 
278
418
  # model with the attributes
@@ -282,6 +422,8 @@ module Touringplans
282
422
  attribute :name, Types::String
283
423
  attribute :short_name, Types::String
284
424
  attribute :permalink, Types::String
425
+ attribute :venue_permalink, Types::String
426
+
285
427
  end
286
428
 
287
429
  # model with the attributes
@@ -292,6 +434,7 @@ module Touringplans
292
434
  attribute :sort_name, Types::String
293
435
  attribute :permalink, Types::String
294
436
  attribute :category_code, Types::String.optional
437
+ attribute :venue_permalink, Types::String.optional
295
438
  end
296
439
 
297
440
  PLACE_KEYS = %i[magic_kingdom
@@ -332,6 +475,9 @@ module Touringplans
332
475
  route = _assemble_route(location, interest_type)
333
476
  response = client.send(route).parsed_response
334
477
  listing_hashes = _collect_listing_hashes_from_response(interest, response)
478
+ listing_hashes.each do |item|
479
+ item["venue_permalink"] = location.to_s.downcase.gsub(" ", "-")
480
+ end
335
481
 
336
482
  listing_hashes
337
483
  listing_hashes.each do |hash|
@@ -366,6 +512,13 @@ module Touringplans
366
512
  end
367
513
  end
368
514
 
515
+ if interest_type == "hotels"
516
+ HOTEL_CATEGORIES.each do |category|
517
+ list = Touringplans.list(category.to_s, "walt_disney_world")
518
+ places << list
519
+ end
520
+ end
521
+
369
522
  places.flatten
370
523
  end
371
524
 
@@ -382,7 +535,9 @@ module Touringplans
382
535
  def self._setup_client
383
536
  connection = Connection.new
384
537
  connection.query(key: "HowdyLen")
385
- Client.new(connection: connection, routes: ROUTES)
538
+ routes = Touringplans::RoutesTable.symbolize_keys(Touringplans::RoutesTable.load_routes_file)
539
+ Client.new(connection: connection, routes: routes)
540
+
386
541
  end
387
542
 
388
543
  def self._format_location_name(location_name)
@@ -401,10 +556,15 @@ module Touringplans
401
556
  end
402
557
 
403
558
  def self._symbolize(item)
404
- # turn a Stringinto a symbol, like comparing to PLACE_KEYS
405
- item.to_s.downcase.gsub(" ", "_").to_sym
559
+ ## turn a Stringinto a symbol, like comparing to PLACE_KEYS
560
+ # if item is a path or name we need to turn it into a phrase of words
561
+ str = item.to_s.downcase.gsub("/", " ").gsub("-", " ").strip
562
+ # turn item into a symbol
563
+ str = str.gsub(" ", "_")
564
+ str.to_sym
406
565
  end
407
566
 
567
+
408
568
  def self._assemble_route(location, interest_type)
409
569
  formatted_location = location.to_s.downcase.gsub(" ", "_")
410
570
  formatted_interest_type = interest_type.to_s.downcase.gsub(" ", "_")
@@ -460,6 +620,11 @@ module Touringplans
460
620
  target_hotels
461
621
  end
462
622
 
623
+ def generate_route_table
624
+ # initial_routes = ROUTES
625
+
626
+ end
627
+
463
628
 
464
629
  def self._set_model_from_hash(interest, hash)
465
630
  hotel_categories = %i[campground deluxe_hotels deluxe_villas moderate_hotels value_hotels disney_springs_resorts hotels]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: touringplans
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - captproton
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-07 00:00:00.000000000 Z
11
+ date: 2021-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -132,6 +132,7 @@ files:
132
132
  - Rakefile
133
133
  - bin/console
134
134
  - bin/setup
135
+ - lib/routes.yml
135
136
  - lib/touringplans.rb
136
137
  - lib/touringplans/version.rb
137
138
  homepage: https://github.com/wdwhub/touringplans