class EnemSolicitacao::Gateway
Esta classe fornece uma interface para interagir com sistema Enem Solicitação. Com ela, é possível buscar resultados de candidatos. Ela pode ser instanciada manualmente da seguinte maneira:
session = EnemSolicitacao::Session.new('login', 'password') gateway = EnemSolicitacao::Gateway.new(session, ano_referencia)
No entanto, o recomendado é utilizar o objeto “global”:
EnemSolicitacao.gateway
Este último utiliza uma sessão global e a configuração geral de login e senha. Veja a documentação de EnemSolicitacao
para maiores detalhes.
Constants
- CPF_KIND
- REGISTRY_KIND
Public Class Methods
new(session, year = EnemSolicitacao.year)
click to toggle source
Construtor.
`session`: Sessão para autenticação no sistema `year`: Ano de referência para as consultas.
# File lib/enem_solicitacao/gateway.rb, line 22 def initialize(session, year = EnemSolicitacao.year) @session = session @year = year end
Public Instance Methods
last_result(retries: 5)
click to toggle source
Carrega e retorna o conteúdo do resultado da última busca efetuada.
# File lib/enem_solicitacao/gateway.rb, line 41 def last_result(retries: 5) page = agent.get(EnemSolicitacao.path('/solicitacao/acompanhar'\ 'Solicitacao.seam')) table = page.search('table#listaSolicitacaoAtendidas').first result = {} table.search('tr').each do |tr| tds = tr.search('td').to_a next if tds.empty? fail('Solicitação em Processamento') unless tds[4].text['Fechado'] result[tds[2].text.strip] = tds[4].search('a').first \ .attributes['href'].value end agent.get(result.sort.last.last).body.strip rescue e warn e.message retries -= 1 retry if retries > -1 raise end
search_by_cpf(*cpfs)
click to toggle source
Busca resultados pelo CPF. Retorna o conteúdo do arquivo gerado pelo sistema do Inep (formato CSV) em texto puro.
# File lib/enem_solicitacao/gateway.rb, line 36 def search_by_cpf(*cpfs) request CPF_KIND, 'cpfDecorate:cpfInput', cpfs.join(';') end
search_by_registry(*registries)
click to toggle source
Busca resultados pelo número de inscrição. Retorna o conteúdo do arquivo gerado pelo sistema do Inep (formato CSV) em texto puro.
# File lib/enem_solicitacao/gateway.rb, line 29 def search_by_registry(*registries) request REGISTRY_KIND, 'numerosInscricaoDecorate:numerosInscricaoInput', registries.join(';') end