- A command line window
- Ruby 2.6.0 or greater installed
- RSpec installed (to run tests only)
$ git clone https://github.com/MKevinEvans/google_books_cli
$ cd google_books_cli
$ ruby app.rb
The application will allow a user to search for books through the google books api. For each search, users will receive basic information on 5 books and will be given the option to add titles to a Reading List, which they can retrieve later in their session.
The majority of the application is comprised of many independent, or loosely dependent classes. These classes are then utilized in the Session class, which itself is utilized in app.js.
A point some might see as contentious is the coupling of the classes HttpRequest and Response_adaptor. While this coupling might be seen as violating the principle of separation of concerns, my argument for implementing it in such a way is that the adaptor is inherently tied to the request, and thus functionally acts as an extension to it. I very much would welcome the input of other's oppinions.
With the exception of Session, DisplayCollection, and DisplayHelper all code was created through test-driven development.