0.0
No release in over 3 years
Low commit activity in last 3 years
Gem Wrapper da API de http://www.calendario.com.br
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
>= 0
~> 13.0
~> 3.0
~> 0.18
~> 5.1
~> 3.8
>= 0

Runtime

 Project Readme

CalendarioApi

Wrapper da Api de Feriados Brasileiros de http://www.calendario.com.br/

Instalação

Adicione essa linha na Gemfile da sua aplicação:

gem 'calendario_api'

E então execute:

    $ bundle

Ou instale você mesmo, conforme abaixo:

    $ gem install calendario_api

Uso

Acesse http://www.calendario.com.br/api_feriados_municipais_estaduais_nacionais.php e peça uma chave de API. Sem uma chave, você não poderá utilizar a API de Feriados.

require 'calendario_api'

# Traz Feriados Nacionais de 2020
CalendarioApi.busca_feriados(token: '<TOKEN_VALIDO>', ano: 2020)

# Traz Feriados Nacionais e Estaduais de SP em 2020
CalendarioApi.busca_feriados(token: '<TOKEN_VALIDO>', ano: 2020, estado: 'SP')

# Traz Feriados Nacionais, Estaduais de SP, e Municipais de São Paulo em 2020
CalendarioApi.busca_feriados(token: '<TOKEN_VALIDO>', ano: 2020, estado: 'SP', cidade: 'SAO_PAULO')

Uma alternativa, caso deseje fazer várias requisições diferentes sem ter de repetir o token.

require 'calendario_api'

consulta = CalendarioApi::FeriadoConsulta.new('<TOKEN_VALIDO>')

# Traz Feriados Nacionais de 2020
consulta.busca_por_parametros(2020, '', '')

# Traz Feriados Nacionais e Estaduais de SP em 2020
consulta.busca_por_parametros(2020, 'SP', '')

# Traz Feriados Nacionais, Estaduais de SP, e Municipais de São Paulo em 2020
consulta.busca_por_parametros(2020, 'SP', 'SAO_PAULO')

você também pode filtrar os resultados da busca de feriados por mês

feriados = CalendarioApi.busca_feriados(token: '<TOKEN_VALIDO>', ano: 2020)

# Filtra os resultados da busca para apenas os feriados do mês de janeiro
feriados.filtrar_mes(1)

# Filtra os resultados da busca para os feriados do mês de janeiro e fevereiro
feriados.filtrar_mes(1, 2)

A Api do site também oferece uma relação dos municípios brasileiros, que não precisa de autenticação.

require 'calendario_api'

CalendarioApi.busca_cidades

Testando a Aplicação

Os testes são feitos com RSpec, FactoryBot, WebMock e VCR. Os testes que fazem requisições para a API e necessitam de API precisam possuir uma chave de API do site para que possam ser executados corretamente. Então, para executar os testes, utilize:

CALENDARIO_API_TOKEN=<TOKEN_VALIDO> bundle exec rspec

Que fará o VCR criar os arquivos que ele usará para executar os testes. Se você já tiver executado os testes e estiver recebendo uma exceção do VCR, verifique se o token utilizado é o mesmo que você usou para rodar os testes da primeira vez, e se ele está válido. Caso tenha feito os testes sem um token válido Remova os cassetes do seu repositório por meio de:

rm spec/vcr_cassettes/ -r

e rode os testes novamente com o token correto.

Se você tem uma solução para poder os cassetes dentro do repositório sem a necessidade de utilizar uma chave de API para isso, fique à vontade para dar uma contribuição.

Contribuindo

Reporte de Problemas e Pull Requests são bem-vindos no Github em https://github.com/MxBromelia/calendario-api-ruby.

Licença

A Gem é disponível em código-aberto sobre os termos da LIcença MIT.