In the best sense, I’m really glad to be done with this! It took me a little longer than I expected (due in part to getting sick during the process), but I learned quite a lot. First, I learned about gems: setting them up from scratch, how to test and publish them… I didn’t have any idea how that worked, and now I have a gem on rubygems.org! Second, I learned more about collaborating objects (and OOP in general, I think). This lab really forced me to break down the flow and understand how the calls were moving between files. And, more importantly, it got me to think about why you’d set it up that way. As someone how generally likes to stay organized and keep my desk neat, I really appreciate OOP’s emphasis on keeping things tidy and modular.
The most valuable part of the lab for me, however, was not so much the substance as the opportunity to grapple with unforseen problems. It made me realize how much my programming problem-solving skills have improved in the little time that I’ve been doing the course so far. The error messages have gone from being annoying and impenetrable to actually being welcome and helpful; several times I resolved an issue straightaway from reading the error message. Other times, the message was just the first breadcrumb on the trail, but it at least pointed me in the right direction.
As for the gem itself, it’s called “Roadfood.” It scrapes recent reviews of roadside restaurants from roadfood.com, letting you see them as a list and then select indivdual ones to read. Feel free to check it out!