Minato Ruby Utils
Lib feita para agrupar os códigos comuns dos serviços da Ferreri. Atualmente possui um cliente HTTP e alguns métodos para ajudar no desenvolvimento das aplicações.
Instalação
O método recomendado para instalação da lib é via gem
:
$ gem install minato-utils
Ou, alternativamente, via Gemfile
:
$ gem 'minato-utils', '~> 0.1.0'
Uso
Para usar esta lib você precisa adicionar o seguinte require em um arquivo de
inicialização config/initializers/minato_utils.rb
:
require 'minato/utils'
Minato::Utils::Helpers
Join urls com:
Minato::Utils::Helpers.join_url(*segments)
Parse json com:
Minato::Utils::Helpers.parse_json(body)
Minato::Utils::Client
Para usar o cliente você vai precisar iniciar ele com base_uri
e
default_options
:
client = Minato::Utils::Client.new(base_uri: 'http://www.test.com', default_options: headers: { 'Content-type' => 'application/json' })
Você pode usar todos os métodos HTTP para fazer requisições. Além disso, é
possível adicionar mais opções ou sobrescrever o padrão usando o método
params
:
client.get('/path', headers: { 'X-Session-Token' => '123' })
As falhas de solicitação produzirão uma exceção do tipo
Minato::Utils::<Exception>
. As possíveis exceções são:
Minato::Utils::BadRequest
Minato::Utils::Conflict
Minato::Utils::Forbiden
Minato::Utils::NotFound
Minato::Utils::ServerError
Minato::Utils::Unauthorized
Minato::Utils::UnprocessableEntity