Middleware definition through DSL

Solves #14

Example:
```ruby
Jeckle::Setup.register(:my_super_api) do |api|
  api.base_uri   = 'http://my-super-api.com.br'
  api.headers    = { 'Content-Type' => 'application/json' }
  api.logger     = Logger.new(STDOUT)
  api.basic_auth = { username: 'steven_seagal', password: 'youAlwaysLose' }
  api.namespaces = { prefix: 'api', version: 'v1' }
  api.params     = { hello: 'world' }

  api.middlewares do
    request  :json
    response :json
    response :raise_error
  end
end
```

More info: https://github.com/tomas-stefano/jeckle/wiki/DSL-Definition
Agreed

2014-10-08 23:38 GMT+02:00 Brenno Costa <notifications@github.com>:

> In lib/jeckle/api.rb:
>
> > @@ -40,5 +34,15 @@ def params
> >      def headers
> >        @headers || {}
> >      end
> > +
> > +    def namespaces
> > +      @namespaces || {}
> > +    end
> > +
> > +    def middlewares(&block)
> > +      raise ArgumentError, 'no block given' unless block_given?
>
> If it blows up on the user application we need to make it clear where and
> why it happened. Normally on a common application it isn't necessary,
> however when dealing with a library it's worth, I believe so.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/tomas-stefano/jeckle/pull/31/files#r18614266>.
>



-- 
Atenciosamente,
Tomás D'Stefano

“Essencialmente, há uma razão simples e abrangente pela qual tantas pessoas
permanecem insatisfeitas com seu trabalho e as empresas deixam de tirar
partido dos grandes talentos, e nunca se tornam organizações
verdadeiramente grandes e duradouras. É a falta total de um paradigma
completo de quem somos – nossa visão fundamental da natureza humana. A
realidade fundamental é que os seres humanos não são coisas que precisam
ser controladas, são seres com quatro dimensões – corpo, mente, coração e
espírito.” Stephen Covey