Hmm, what value would we add having this broken apart by API? The real meat of this class is to just introduce the default headers on every request handled via the class. It would violate DRY principles to have the headers repeated for each of the API classes we'd create. I guess you could have some default class which sets the headers and everything inherits from it but there's really no reason to add all that complexity in this case.

I'd think most real world developers would just use the class like Joannic had it because of that duplication not adding much value. I guess if you used multiple projects in the same Ruby app you could have a few of these though.

I guess it does serve for a prettier demo though.