This gem allows you to easily build rich API wrappers with minimal code.
It is HTTParty with a Cake.
$ gem install apicake
Or with bundler:
gem 'apicake'
Turn this hypothetical API URL:
http://api.recipes.com/cakes?layers=3
To this:
recipes = Recipes.new
recipes.cakes layers:3
Using this code only:
class Recipes < APICake::Base
base_uri 'api.recipes.com'
end
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 Recipes << APICake::Base
base_uri 'api.recipes.com/v1'
end
recipes = Recipes.new
# This will access http://api.recipes.com/v1/cakes
recipes.cakes
# This will access http://api.recipes.com/v1/cakes/chocolate
recipes.cakes 'chocolate'
# This will access http://api.recipes.com/v1/cakes/chocolate?layers=3
recipes.cakes 'chocolate', layers: 3
See the Examples folder for more examples.
APICake uses Lightly for caching. By default, cached objects are stored
in the ./cache
directory for 3600 seconds.
See the caching example.
For a detailed explanation of the services and methods you get when inheriting
from APICake::Base
, see the class documentation.
These gems use APICake: