touringplans 0.2.4 → 0.2.9

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