Rest-core 0.4.0 released

rest-core https://github.com/cardinalblue/rest-core

by Cardinal Blue http://cardinalblue.com

I was talking about rest-core at http://rubyconf.tw/2011

DESCRIPTION:

Modular Ruby clients for REST APIs

There has been an explosion in the number of REST APIs available
today.
To address the need for a way to access these APIs easily and
elegantly,
we have developed rest-core, which consists of composable
middleware
that allows you to build a REST client for any REST API. Or in the
case of
common APIs such as Facebook, Github, and Twitter, you can simply use
the
built-in dedicated clients provided by rest-core.

INSTALLATION:

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

CHANGES:

rest-core 0.4.0 – 2011-09-26

Incompatible changes:

  • [dry] Now RestCore::Ask is renamed to RestCore::Dry for better
    understanding. Thanks miaout17

  • [client] Now request method 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 false instead of nil. This is because nil stands 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.

Compatible changes:

  • [client] Introduced a new method request_full which is exactly the
    same
    as request but also returns various information from the app,
    including
    RESPONSE_STATUS and RESPONSE_HEADERS

  • [client] Removed various unused, untested, undocumented legacy from
    rest-graph.

  • [error] Introduced RestCore::Error which is the base class for all
    exceptions raised by rest-core

  • [builder] Now RestCore::Builder.default_app is 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)

  • [wrapper] Now RestCore::Wrapper.default_app is 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 members
    method,
    which should be optional. Thanks miaout17

  • [facebook][rails_util] Now default cache is Rails.cache instead 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 Flurry::RailsUtil

  • [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_in is 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
    run this: rib rest-core. It is using an universal client to access
    arbitrary websites.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs