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