Ropenweather :gem:
Uma gem que encapsula a api do OpenWeatherMap.
Instalação
Essa gem só se encontra disponivel em desenvolvimento, logo você pode clonar o projeto e instala-la localmente:
git clone https://github.com/souzagab/ropenweather.git
cd ropenweather
bundle exec rake install
Ou referenciar o repositório em sua Gemfile:
gem 'ropenweather', git: 'https://github.com/souzagab/ropenweather.git'
E executar:
bundle install
Uso
Essa gem usa a api do OpenWeatherMap e você precisa se registrar e pegar suas chaves aqui.
Nova instância
Para utilizar essa gem você precisará criar uma instancia da classe Ropenweather::Client, seu construtor pode receber estes quatro parâmetros: api_key, base_uri, lang, units.
| parâmetro | obrigatório | valor padrão | valores válidos |
|---|---|---|---|
api_key |
sim | chave de api | |
base_uri |
não | http://api.openweathermap.org/data/2.5 |
api url |
lang |
não | en |
valores aceitos aqui |
units |
não | metric |
standard metric imperial |
Exemplo
client = Ropenweather::Client.new(api_key:'y0ur-4pi-k3y',lang:'pt_br')
Temperatura de Hoje
Retorna um hash com os parâmetros da temperatura
client = Ropenweather::Client.new(api_key:'y0ur-4pi-k3y',lang:'pt_br')
client.get_weather(city:'London')
Previsão (5 dias)
Retorna um hash com uma lista de previsões para cinco dias
client = Ropenweather::Client.new(api_key:'y0ur-4pi-k3y',lang:'pt_br')
response = client.get_weather(city:'London', action:'forecast')
response[:list] # Array of forecasts
Desenvolvimento
Após clonar o repositório rode bin/setup para instalar as dependências.
Rode rake spec para os testes.
Você também pode rodar bin/console para um console interativo.
Contribuindo
Este projeto está no inicio do desenvolvimento e tem muito a ser melhorado, contribuições são muito bem vindas, e aqui está uma lista de possivéis melhorias já percebidas
- [ ] Encapsular a resposta da api em uma classe
- [ ] Melhorar o tratamento de erros
- [ ] Validar o formato dos parametros recebidos
E muito mais.
Licensa
Essa gem possui a licensa MIT.