class EnemSolicitacao::Session
Representa uma sessão com o sistema do Inep. Precisa de um login e senha para autenticação, procedimento que só é executado quando uma busca é realizada.
Public Class Methods
new(login, password)
click to toggle source
# File lib/enem_solicitacao/session.rb, line 6 def initialize(login, password) @login = login @password = password @agent = Mechanize.new @agent.user_agent_alias = 'Linux Firefox' end
Public Instance Methods
agent()
click to toggle source
Retorna um ‘agent` (objeto `Mechanize`). Autentica o usuário, caso ainda não esteja autenticado.
# File lib/enem_solicitacao/session.rb, line 15 def agent establish unless established? @agent end
Private Instance Methods
establish(login = @login, password = @password)
click to toggle source
Faz a autenticação. Se ela não obtiver sucesso, uma exceção será disparada.
# File lib/enem_solicitacao/session.rb, line 32 def establish(login = @login, password = @password) login_page = @agent.get(login_url) form = login_page.form_with(id: 'formLogin') form.username = login form.password = password form['j_id19.x'] = 1 form['j_id19.y'] = 1 home_page = @agent.submit(form) raise "Unable to authenticate #{login}" unless home_page.body['inicial'] @status = :established end