by Cardinal Blue http://cardinalblue.com
Modular Ruby clients for REST APIs
rest-core 0.4.0 – 2011-09-26
RestCore::Askis renamed to
RestCore::Dryfor better understanding. Thanks miaout17
requestmethod takes an env and an app to make requests, instead of a weird requests array.
[client] Now if you really want to disable something, for example, disabling cache when the default cache is
Rails.cache, you’ll need to pass
nil. This is because
nilstands for using defaults in rest-core.
[client] Defaults priorities are changed to: per-request > instance variable > class defaults > middleware defaults See test_client.rb for more detailed definition. If you don’t understand this, don’t worry, since then this won’t affect you.
[client] Introduced a new method
request_fullwhich is exactly the same as
requestbut also returns various information from the app, including
[client] Removed various unused, untested, undocumented legacy from rest-graph.
RestCore::Errorwhich is the base class for all exceptions raised by rest-core
RestCore::Builder.default_appis the default app which would be used for building clients without setting an app. By default, it’s
RestClient, but you can change it if you like.
[builder] It no longer builds a @wrapped app. If you don’t understand this, then this does nothing for you. It’s an internal change. (or bug fix)
RestCore::Wrapper.default_appis the default app which would be used for wrapping middlewares without setting an app. By default, it’s
Dry, but you can change it if you like.
[wrapped] Fixed a bug that force middlewares to implement
membersmethod, which should be optional. Thanks miaout17
- [facebook][rails_util] Now default cache is
Rails.cacheinstead of nil
- [simple] Added a Simple client, which only wraps RestClient
- [univeral] Added an Universal client, which could be used for anything
- [flurry] Added a Flurry client, along with its
[mixi] Added a Mixi client
- [bypass] Added a Bypass middleware which does nothing but passing env
- [oauth2_header] OAuth2Header is a middleware which would pass access_token in header instead of in query string.
- [common_logger] nil object would no longer be logged
- [json_decode] Do nothing if we are being asked for env (dry mode)
- [cache] Now default
:expires_inis 600 down from 3600
[middleware] Now not only query values would be escaped, but also keys.
- [rib-rest-core] Introduced an interactive shell. You’ll need rib to
rib rest-core. It is using an universal client to access arbitrary websites.
gem install rest-core
Or if you want development version, put this in Gemfile:
gem 'rest-core', :git => 'git://github.com/cardinalblue/rest-core.git', :submodules => true