Essa lib é um cliente para a Api Inthegra da Strans Teresina.
Suporta Ruby 2.0 ou mais novo.
# gem install strans-client
ou no seu GEMFILE utilize:
gem 'strans-client', '1.0.0'
- Intancie um objeto StransClient passando as credenciais de acesso a api que podem ser adiqueridas na página da API. É necessário se cadastrar e solicitar uma key para uma aplicação.
require 'strans-client'
cliente = StransClient.new('[email protected]', 'suaSenha', 'suaChaveAqui')
- Agora você pode realizar as chamadas da API que estão documentadas aqui
# Autentica na na API, usando as credenciais
# do construtor acima.
cliente.get(<path>, <SePrecisarDeParametro>)
:linhas => '/linhas',
:veiculos => '/veiculos',
:veiculos_linha => '/veiculosLinha',
:paradas => '/paradas',
:paradas_linha => '/paradasLinha',
# Todas as linhas disponiveis.
cliente.get(:linhas)
# GET /paradas?busca=ininga
# Todas as linhas que possuam o termo “ininga”.
cliente.get(:linhas, 'ininga')
# GET /paradasLinha?busca=0402
# Retorna todas as paradas da linha indicada com o código indicado.
cliente.get(:paradas_linha, '0402')
Todas as chamadas retorna objetos populados, em que você pode usar o metodo to_json para transforma-los em JSON. Esse modelo possui os mesmo atributos do JSON retornado pela api, mas com os nomes dos atributos em minúsculos. Veja o modelo no código acima.
Alguns erros podem ocorrer por conta de problemas na API ou na requisição. Todos eles retorna uma instância da classe Erro, com uma mensagem associada.
- Transformar em uma gem - OK
- Criação de um modelo Ruby - OK
- Gerenciar erros retornados pela API. (+/-)
- Gerenciar automaticamente o token de autenticação. - OK
- Molhar o método to_json dos modelos, tá funcional, mas feio.
- Criar um cliente lazy que carrega informações em um cache.