API Cake - Build Dynamic API Wrappers
This gem allows you to easily build rich API wrappers with minimal code.
It is HTTParty with a Cake.
Install
$ gem install apicake
Or with bundler:
gem 'apicake'
TL;DR
Turn this hypothetical API URL:
http://api.recipies.com/cakes?layers=3
To this:
Recipies.cakes layers:3
Using this code only:
class Recipies < APICake::Base
base_url 'api.recipies.com'
end
Features
- Uses HTTParty
- Built in caching
- Built in save to file
- Built in response parsing (part of HTTParty)
- Built in convert and save to CSV
- Designed for GET-only APIs (e.g., data services)
Usage
Create a class and inherit from APICake::Base
.
This class automatically includes HTTParty, so you can do whatever you do in
HTTParty. In addition, the APICake::Base
class defines a method_missing
method, so any call to an undefined method, will simply be converted to a
URL.
For example:
class Recipies << APICake::Base
base_url 'api.recipies.com/v1'
end
recipies = Rcipies.new
# This will access http://api.recipies.com/v1/cakes
recipies.cakes
# This will access http://api.recipies.com/v1/cakes/chocolate
recipies.cakes 'chocolate'
# This will access http://api.recipies.com/v1/cakes/chocolate?layers=3
recipies.cakes 'chocolate', layers: 3
See the Examples folder for more examples.
Caching
APICake uses Lightly for caching. By default, cached objects are stored
in the ./cache
directory for 3600 seconds.
See the caching example.
Method Reference
For a detailed explanation of the services and methods you get when inheriting
from APICake::Base
, see the class documentation.