uniara_virtual_parser 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.rubocop.yml +6 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +10 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +14 -0
- data/lib/uniara_virtual_parser/client.rb +26 -0
- data/lib/uniara_virtual_parser/models/subject.rb +20 -0
- data/lib/uniara_virtual_parser/services/grades.rb +33 -0
- data/lib/uniara_virtual_parser/services/login.rb +12 -0
- data/lib/uniara_virtual_parser/version.rb +3 -0
- data/lib/uniara_virtual_parser.rb +22 -0
- data/spec/fixtures/uniara_virtual/grades.html +1 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/support/fixture_helper.rb +5 -0
- data/spec/uniara_virtual_parser/client_spec.rb +27 -0
- data/spec/uniara_virtual_parser/services/grades_spec.rb +17 -0
- data/spec/uniara_virtual_parser/services/login_spec.rb +52 -0
- data/uniara_virtual_parser.gemspec +28 -0
- metadata +171 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 70ca7f52e8cb6eb38f591b934b494511e8b74251
|
4
|
+
data.tar.gz: dd096cfd52b613e8c244ffcee07a053c2e80bb80
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4909efadac1245e39e5e6bf87ee75d115a34c4562dfc849032fa049a704d592bcac0fe41256958ae33f0377d5f832de27dbbcc728e87c15d356fe96bbb7bd7a9
|
7
|
+
data.tar.gz: acb4c5b5f9013083e47d36961edf552932624d60141dabb4296d2224c941c963700da9add4d9b37ac4cb6a5fbe3d16f9a4ec990a217a9a00635553141c08cbb0
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
uniara_virtual_parser
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.5
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Carlos Ribeiro
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# UniaraVirtualParser
|
2
|
+
|
3
|
+
A gem to parse the Uniara Virtual system.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'uniara_virtual_parser'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install uniara_virtual_parser
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
TODO: Write usage instructions here
|
24
|
+
|
25
|
+
## Contributing
|
26
|
+
|
27
|
+
1. Fork it ( https://github.com/duduribeiro/uniara_virtual_parser/fork )
|
28
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
29
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
30
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
31
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
|
3
|
+
desc 'Default task'
|
4
|
+
task default: :spec
|
5
|
+
|
6
|
+
desc 'Open an irb session preloaded with this library'
|
7
|
+
task :console do
|
8
|
+
exec 'irb -r uniara_virtual_parser -I ./lib'
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'Run specs'
|
12
|
+
task :spec do
|
13
|
+
system 'rspec .'
|
14
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
#
|
3
|
+
# This module handle the connections between all services and the
|
4
|
+
# UniaraVirtual server
|
5
|
+
#
|
6
|
+
class Client
|
7
|
+
ENDPOINT = 'http://virtual.uniara.com.br'
|
8
|
+
class << self
|
9
|
+
extend Forwardable
|
10
|
+
def_delegators :client, :post
|
11
|
+
attr_accessor :token
|
12
|
+
|
13
|
+
def get_with_token(path)
|
14
|
+
client.get(path) do |request|
|
15
|
+
request.header[:cookie] = "PHPSESSID=#{token};"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def client
|
22
|
+
@client ||= Hurley::Client.new ENDPOINT
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
module Models
|
3
|
+
class Subject
|
4
|
+
attr_reader :name, :first_bimester, :second_bimester, :third_bimester,
|
5
|
+
:fourth_bimester, :substitutive, :average, :recovery, :status
|
6
|
+
|
7
|
+
def initialize(attributes = {})
|
8
|
+
@name = attributes.fetch :name
|
9
|
+
@first_bimester = attributes.fetch :first_bimester
|
10
|
+
@second_bimester = attributes.fetch :second_bimester
|
11
|
+
@third_bimester = attributes.fetch :third_bimester
|
12
|
+
@fourth_bimester = attributes.fetch :fourth_bimester
|
13
|
+
@substitutive = attributes.fetch :substitutive
|
14
|
+
@average = attributes.fetch :average
|
15
|
+
@recovery = attributes.fetch :recovery
|
16
|
+
@status = attributes.fetch :status
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
module Services
|
3
|
+
module Grades
|
4
|
+
def grades
|
5
|
+
response = Client.get_with_token('/alunos/consultas/notas/')
|
6
|
+
parse_grades response.body
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def parse_grades(html)
|
12
|
+
doc = Nokogiri::HTML(html)
|
13
|
+
subjects = []
|
14
|
+
doc.css('div#conteudo ~ table tr').each_with_index do |subject, index|
|
15
|
+
next if index.zero?
|
16
|
+
|
17
|
+
subjects << Models::Subject.new(
|
18
|
+
name: subject.css('td:nth-child(1)').text,
|
19
|
+
first_bimester: subject.css('td:nth-child(2)').text,
|
20
|
+
second_bimester: subject.css('td:nth-child(3)').text,
|
21
|
+
third_bimester: subject.css('td:nth-child(4)').text,
|
22
|
+
fourth_bimester: subject.css('td:nth-child(5)').text,
|
23
|
+
substitutive: subject.css('td:nth-child(6)').text,
|
24
|
+
average: subject.css('td:nth-child(7)').text,
|
25
|
+
recovery: subject.css('td:nth-child(8)').text,
|
26
|
+
status: subject.css('td:nth-child(9)').text
|
27
|
+
)
|
28
|
+
end
|
29
|
+
subjects
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
module Services
|
3
|
+
module Login
|
4
|
+
def login(ra, password)
|
5
|
+
response = Client.post('/login', username: ra, senha: password)
|
6
|
+
cookies = response.header['Set-Cookie']
|
7
|
+
fail InvalidLogin unless /UVXS233E3=S/.match cookies
|
8
|
+
Client.token = cookies.match(/PHPSESSID=([^;]*);/)[1]
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'hurley'
|
2
|
+
require 'nokogiri'
|
3
|
+
require 'uniara_virtual_parser/version'
|
4
|
+
require 'uniara_virtual_parser/client'
|
5
|
+
require 'uniara_virtual_parser/models/subject'
|
6
|
+
require 'uniara_virtual_parser/services/login'
|
7
|
+
require 'uniara_virtual_parser/services/grades'
|
8
|
+
|
9
|
+
include UniaraVirtualParser::Services::Login
|
10
|
+
include UniaraVirtualParser::Services::Grades
|
11
|
+
|
12
|
+
module UniaraVirtualParser
|
13
|
+
#
|
14
|
+
# Main model. Includes methods from the services
|
15
|
+
# Included:
|
16
|
+
# login(ra, password) - Do the login in UniaraVirtual
|
17
|
+
#
|
18
|
+
# All Errors:
|
19
|
+
# InvalidLogin: Raised when Login service receive invalid credentials.
|
20
|
+
#
|
21
|
+
class InvalidLogin < StandardError; end
|
22
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n<html>\r\n\t<head>\r\n\t <title>Uniara Virtual - Acad\xEAmico > Consultas > Registro de Notas</title>\r\n\t <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\r\n\t <meta name=\"Author\" content=\"Weverton Velludo - wvelludo@uniara.com.br\">\r\n\t <meta name=\"Robots\" CONTENT=\"noindex,nofollow\">\r\n\t\t<link type=\"image/x-icon\" rel=\"shortcut icon\" href=\"http://www.uniara.com.br/favicon.ico\" />\r\n\t <link rel=\"stylesheet\" href=\"http://www.uniara.com.br/barra_navegacao.css\" type=\"text/css\">\r\n\t\t<script type=\"text/javascript\" src=\"http://www.uniara.com.br/barra_navegacao_virtual.js.php\"></script>\r\n\t <link href=\"/templates/alunos/css.css\" rel=\"stylesheet\" type=\"text/css\">\r\n \r\n\t\t<script type=\"text/javascript\" src=\"/templates/alunos/ferramentas/js/jquery.js\"></script>\r\n <script type=\"text/javascript\" src=\"/templates/alunos/ferramentas/js/jquery.jqDock.min.js\"></script>\r\n <script type=\"text/javascript\" src=\"/templates/alunos/ferramentas/js/jquery-ui-1.8.15.custom.min.js\"></script>\r\n <link type=\"text/css\" href=\"/templates/alunos/ferramentas/css/ui-lightness/jquery-ui-1.8.15.custom.css\" rel=\"stylesheet\" />\r\n \r\n\t <script src=\"/templates/js/generico.js\" type=\"text/javascript\"></script>\r\n\t <script src=\"/templates/alunos/js/generico.js\" type=\"text/javascript\"></script>\r\n\t <script src=\"/templates/js/mascaraHellas.js\"></script>\r\n\t\t<script type=\"text/javascript\">\r\n\t\t\tvar gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");\r\n\t\t\tdocument.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\r\n\t\t</script>\r\n\t\t<script type=\"text/javascript\">\r\n\t\t\ttry {\r\n\t\t\t\tvar pageTracker = _gat._getTracker(\"UA-9447697-1\");\r\n\t\t\t\tpageTracker._trackPageview();\r\n\t\t\t} catch(err) {}\r\n\t\t</script>\r\n\t <script type=\"text/javascript\">\r\n\t \r\n\t\t\tfunction tempolimite() {\r\n\t\t\t\tif (atual != 0) {\r\n\t\t\t\t\tdocument.getElementById('tlimite').innerHTML = \"Tempo restante: <b>\" + atual + \"</b> min.\"\r\n\t\t\t\t\tif (atual==2) {\r\n\t\t\t\t\t\tif (pagina != \"/index.php\") {\r\n\t\t\t\t\t\t\tdocument.getElementById('limite').innerHTML = \"<table width='99%' align='center' border='0' cellpadding='3' cellspacing='1' bgcolor='#000000'><tr bgcolor='#0f3b4d'><td align='center'><font color='#FFFFFF'><b>ATEN\xC7\xC3O</b></font></td></tr><tr bgcolor='#47778b'><td align=center><b>Sua sess\xE3o est\xE1 chegando ao fim, salve as informa\xE7\xF5es para evitar perda de dados.<BR>Voc\xEA tem menos de 2 minutos para verificar e postar seus dados.</b></td></tr></table><BR>\"\r\n\t\t\t\t\t\t\tdocument.getElementById('limite2').innerHTML = \"<BR><table width='99%' align='center' border='0' cellpadding='3' cellspacing='1' bgcolor='#000000'><tr bgcolor='#0f3b4d'><td align='center'><font color='#FFFFFF'><b>ATEN\xC7\xC3O</b></font></td></tr><tr bgcolor='#47778b'><td align=center><b>Sua sess\xE3o est\xE1 chegando ao fim, salve as informa\xE7\xF5es para evitar perda de dados.<BR>Voc\xEA tem menos de 2 minutos para verificar e postar seus dados.</b></td></tr></table><BR>\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tatual-=1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.location=\"/login/\";\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(\"tempolimite()\",60000);\r\n \t\t}\r\n \t\t\r\n\t // Institucional\r\n\t var menu1=new Array()\r\n\t menu1[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu1[1]='<a href=\"/alunos/institucional/reitor/\" class=dropmenul target=_self>Palavra do Reitor</a>'\r\n\t menu1[2]='<a href=\"http://www.uniara.com.br/institucional/a_uniara.php\" class=dropmenul target=_blank>A Uniara</a>'\r\n\t menu1[3]='<a href=\"http://www.uniara.com.br/atividades_culturais/\" class=dropmenul target=_blank>Atividades Culturais</a>'\r\n\t menu1[4]='<a href=\"http://www.uniara.com.br/esporte/\" class=dropmenul target=_blank>Esporte</a>'\r\n\t menu1[5]='<a href=\"http://www.uniara.com.br/revistauniara/default.asp\" class=dropmenul target=_blank>Revista Uniara</a>'\r\n\t menu1[6]='<a href=\"http://www.uniara.com.br/parque_do_basalto/\" class=dropmenul target=_blank>Parque do Basalto</a>'\r\n\t menu1[7]='<a href=\"http://www.uniara.com.br/ageuniara/\" class=dropmenul target=_blank>Ageuniara</a>'\r\n\t menu1[8]='<a href=\"http://www.uniara.com.br/guia_turistico/\" class=dropmenul target=_blank>Guia de Araraquara</a>'\r\n\t menu1[9]='<a href=\"http://www.uniara.com.br/visitavirtual/\" class=dropmenul target=_blank>Visita Virtual</a>'\r\n\t\r\n\t // Uniara Virtual\r\n\t var menu2=new Array()\r\n\t menu2[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu2[1]='<a href=\"/alunos/virtual/apresentacao/\" class=dropmenul target=_self>Apresenta\xE7\xE3o</a>'\r\n\t menu2[2]='<div class=dropmenu style=\"width:100%\"> <b>Contato</b></div>'\r\n\t menu2[3]='<a href=\"/alunos/contato/criticas/\" class=dropmenul target=_self>Cr\xEDticas e Sugest\xF5es</a>'\r\n\t\t\tmenu2[4]='<div class=dropmenu style=\"width:100%\"> <b>Servi\xE7os</b></div>'\r\n\t\t\tmenu2[5]='<a href=\"/alunos/servicos/senha/\" class=dropmenul target=_self>Altera\xE7\xE3o de Senha</a>'\r\n\t\t\t\r\n\t // Academico\r\n\t var menu3=new Array()\r\n\t menu3[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu3[1]='<a href=\"/alunos/informacoes/apresentacao/\" class=dropmenul target=_self>Apresenta\xE7\xE3o</a>'\r\n\t menu3[2]='<a href=\"/alunos/informacoes/duvidas/\" class=dropmenul target=_self>D\xFAvidas Freq\xFCentes</a>'\r\n\t //menu3[3]='<a href=\"#\" onclick=\"javascript:guia();\" class=dropmenul target=_self>Guia do Aluno</a>'\r\n\t menu3[4]='<a href=\"http://www.uniara.com.br/graduacao/eng_computacao/\" class=dropmenul target=_blank>Meu Curso</a>'\r\n\t menu3[5]='<div class=dropmenu style=\"width:100%\"> <b>Consultas</b></div>'\r\n\t menu3[6]='<a href=\"/alunos/consultas/disciplinas/\" class=dropmenul target=_self>Disciplinas Matriculadas</a>'\r\n\t menu3[7]='<a href=\"/alunos/consultas/dados/\" class=dropmenul target=_self>Dados Cadastrais</a>'\r\n\t menu3[8]='<a href=\"/alunos/consultas/horario/\" class=dropmenul target=_self>Hor\xE1rio de Aula</a>'\r\n\t menu3[9]='<a href=\"/alunos/consultas/atividades/\" class=dropmenul target=_self>Atividades Complementares</a>'\r\n\t menu3[10]='<a href=\"/alunos/consultas/historico/\" class=dropmenul target=_self>Hist\xF3rico Escolar</a>'\r\n\t menu3[11]='<a href=\"/alunos/consultas/arquivos/\" class=dropmenul target=_self>Arquivos Dispon\xEDveis</a>'\r\n\t menu3[12]='<a href=\"/alunos/consultas/requerimentos/\" class=dropmenul target=_self>Requerimentos</a>'\r\n\t menu3[13]='<a href=\"/alunos/consultas/planoensino/\" class=dropmenul target=_self>Planos de Ensino das Disciplinas</a>'\r\n\t menu3[14]='<a href=\"/alunos/consultas/calendario/\" class=dropmenul target=_self>Calend\xE1rio Acad\xEAmico</a>'\r\n\t menu3[15]='<a href=\"/alunos/consultas/notas/\" class=dropmenul target=_self>Registro de Notas</a>'\r\n\t menu3[16]='<a href=\"/alunos/consultas/faltas/\" class=dropmenul target=_self>Registro de Faltas</a>'\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t //menu3[17]='<a href=\"/alunos/consultas/mensagens/\" class=dropmenul target=_self>Caixa de Mensagens</a>'\r\n\r\n\t menu3[18]='<div class=dropmenu style=\"width:100%\"> <b>Servi\xE7os</b></div>'\r\n\t menu3[19]='<a href=\"/alunos/servicos/dados/\" class=dropmenul target=_self>Altera\xE7\xE3o de Cadastro</a>'\r\n\t menu3[20]='<a href=\"/alunos/servicos/biblioteca/\" class=dropmenul target=_self>Biblioteca</a>'\r\n\t menu3[21]='<a href=\"/alunos/servicos/requerimentos/\" class=dropmenul target=_self>Solicita\xE7\xE3o de Requerimentos</a>'\r\n\t menu3[22]='<a href=\"/alunos/servicos/matricula/\" class=dropmenul target=_self>Matr\xEDcula On-line</a>'\t\t\t\r\n\t menu3[23]='<div class=dropmenu style=\"width:100%\"> <b>Contato</b></div>'\r\n\t menu3[24]='<a href=\"/alunos/contato/central/\" class=dropmenul target=_self>Central de Atendimento</a>'\t\t\t\t\r\n\t\t\t\t menu3[25]='<a href=\"/alunos/servicos/coordenador/\" class=dropmenul target=_self>Fale com seu coordenador</a>'\r\n\t\t\t\t\t\t\t\r\n\t\r\n\t // Financeiro\r\n\t var menu4=new Array()\r\n\t menu4[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu4[1]='<a href=\"/alunos/financeiro/apresentacao/\" class=dropmenul target=_self>Apresenta\xE7\xE3o</a>'\r\n\t menu4[2]='<a href=\"/alunos/financeiro/duvidas/\" class=dropmenul target=_self>D\xFAvidas Freq\xFCentes</a>'\r\n\t menu4[3]='<div class=dropmenu style=\"width:100%\"> <b>Consultas</b></div>'\r\n\t menu4[4]='<a href=\"/alunos/financeiro/dados/\" class=dropmenul target=_self>Dados Financeiros</a>'\r\n\t menu4[5]='<a href=\"/alunos/financeiro/mensalidades/\" class=dropmenul target=_self>Mensalidades Atrasadas</a>'\r\n\t menu4[6]='<div class=dropmenu style=\"width:100%\"> <b>Servi\xE7os</b></div>'\r\n\t menu4[7]='<a href=\"/alunos/financeiro/segundavia/\" class=dropmenul target=_self>Segunda via de Carn\xEA</a>'\r\n\t menu4[8]='<div class=dropmenu style=\"width:100%\"> <b>Contato</b></div>'\r\n\t menu4[9]='<a href=\"/alunos/contato/financeiro/\" class=dropmenul target=_self>Tesouraria</a>'\r\n\t\r\n\t // Fora de Sala\r\n\t var menu5=new Array()\r\n\t menu5[0]='<a href=\"/alunos/foradesala/vagasestagio/\" class=dropmenul target=_self>Est\xE1gios e Oportunidades</a>'\r\n\t menu5[1]='<div class=dropmenu style=\"width:100%\"> <b>Entretenimento</b></div>'\r\n\t //menu5[2]='<a href=\"/alunos/foradesala/enquetes/\" class=dropmenul target=_self>Enquetes</a>'\r\n\t menu5[3]='<a href=\"http://www.dceuniara.com.br\" class=dropmenul target=_blank>Site DCE</a>'\r\n\t menu5[4]='<a href=\"/alunos/foradesala/calendario/\" class=dropmenul target=_self>Agenda</a>'\r\n\t menu5[5]='<div class=dropmenu style=\"width:100%\"> <b>Setores de Apoio ao Aluno</b></div>'\r\n\t menu5[6]='<a href=\"/alunos/foradesala/relacionamento/\" class=dropmenul target=_self>Setor de Relacionamento</a>'\r\n\t menu5[7]='<a href=\"/alunos/foradesala/estagios/\" class=dropmenul target=_self>Divis\xE3o de Est\xE1gios</a>'\r\n\t menu5[8]='<a href=\"/alunos/foradesala/central/\" class=dropmenul target=_self>Central de Atendimento</a>'\r\n\t menu5[9]='<a href=\"/alunos/foradesala/biblioteca/\" class=dropmenul target=_self>Biblioteca</a>'\r\n\t\t</script>\r\n\t\t<script src=\"/templates/js/menu.js\" type=\"text/javascript\"></script>\r\n\t</head>\r\n\t<body onLoad=\"barranavegacao();\" bgcolor=\"#ffffff\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">\r\n\t\t<div id=\"barranavegacao\"></div>\r\n\t\t<table width=\"770\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"62\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td background=\"/templates/alunos/imagens/t2.gif\" align=\"center\">\r\n\t\t\t\t\t\t\t\t<img src=\"/templates/alunos/imagens/trans.gif\"><BR>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t3.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"50\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t1.gif\" valign=\"bottom\"><img src=\"/templates/alunos/imagens/t4.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"68\" background=\"/templates/alunos/imagens/t5.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"8\"><img src=\"/templates/alunos/imagens/t21.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"111\" background=\"/templates/alunos/imagens/t22.gif\" align=\"center\">\r\n\t\t\t\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td height=\"30\" colspan=\"2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td align=\"center\">\r\n\t\t\t\t\t\t\t\t\t\t\t<font color=\"#FFFFFF\" size=\"1\" style=\"font:10px\"><b>UNIARA VIRTUAL</b></font>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t\t<td width=\"4\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"9\"><img src=\"/templates/alunos/imagens/t23.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"8\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#5E8EA2\"><font color=\"#FFFFFF\" size=\"6\">ALUNO</font></td>\r\n\t\t\t\t\t\t\t<td width=\"5\"><img src=\"/templates/alunos/imagens/t8.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"134\" background=\"/templates/alunos/imagens/t9.gif\">\r\n\t\t\t\t\t\t\t\t<table width=\"100%\" height=\"50\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td height=\"16\" align=\"center\">\r\n\t\t\t\t\t <table width=\"98%\" height=\"16\" border=\"0\" align=\"CENTER\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t \t<form name=\"redirect\" action=\"#\">\r\n\t\t\t\t\t <tr>\r\n\t\t\t\t\t <td align=\"center\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"tlimite\">\r\n\t\t\t\t\t\t\t\t\t\t \t\t<script>\r\n\t\t\t\t\t\t\t\t\t\t \t\t\tvar atual = 120;\r\n\t\t\t\t\t\t\t\t\t\t \t\t\tvar pagina = \"_notas.php\"; \r\n\t\t\t\t\t\t\t\t\t\t \t\t\ttempolimite();\r\n\t\t\t\t\t\t\t\t\t\t \t\t</script>\r\n\t\t\t\t\t\t\t\t\t \t\t</div>\r\n\t\t\t\t\t </td>\r\n\t\t\t\t\t </tr>\r\n\t\t\t\t\t </form>\r\n\t\t\t\t\t </table>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"4\"><img src=\"/templates/alunos/imagens/t10.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t3.gif\" valign=\"bottom\"><img src=\"/templates/alunos/imagens/t6.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"46\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"9\"><img src=\"/templates/alunos/imagens/t11.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"152\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"51\"><img src=\"/templates/alunos/imagens/t12.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<table width=\"400\" height=\"18\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td background=\"/templates/alunos/imagens/local.jpg\">\r\n\t\t\t\t\t\t\t\t\t\t\t<font color=\"#737373\"><b> Acad\xEAmico > Consultas > Registro de Notas</b></font>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\t\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"12\"><img src=\"/templates/alunos/imagens/t13.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"20\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"151\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"9\"><img src=\"/templates/alunos/imagens/t14.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"49\"> </td>\r\n\t\t\t\t\t\t\t<td width=\"4\"><img src=\"/templates/alunos/imagens/t15.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#5E8EA2\">\r\n <table width=\"98%\" height=\"100%\" border=\"0\" align=\"CENTER\" cellpadding=\"0\" cellspacing=\"0\">\r\n <tr>\r\n <td align=\"left\">\r\n \t<font color=\"#FFFFFF\">\r\n \t<b>Boa Noite, GUILHERME FRANGIOTTI PIRES</b>\r\n </font>\r\n </td>\r\n <td width=\"110\" align=\"right\">\r\n <font color=\"#FFFFFF\" size=\"2\">\r\n \t\t<b>|</b>\r\n \t</font>\r\n \t<font color=\"#FFFFFF\" size=\"1\">\r\n \t \r\n \t\t<b>Acesso n\xBA 996</b>\r\n \t</font>\r\n </td>\r\n <td width=\"5\">\r\n \t<img src=\"/templates/alunos/imagens/trans.gif\"><BR>\r\n </td>\r\n </tr>\r\n </table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"51\"><a href=\"/login/\"><img src=\"/templates/alunos/imagens/sair.gif\"></a><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"22\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"150\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"8\"><img src=\"/templates/alunos/imagens/t16.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"26\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"26\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"150\" bgcolor=\"#47778B\" align=\"center\"><a href=\"/alunos/index/\" class=\"menu\">home</a></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#B1B1B1\">\r\n\t\t <table height=\"26\" border=\"0\" align=\"CENTER\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t <tr>\r\n\t\t \r\n \r\n \r\n <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu1, '150px')\" onMouseout=\"delayhidemenu()\">institucional</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu2, '150px')\" onMouseout=\"delayhidemenu()\">uniara virtual</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu3, '203px')\" onMouseout=\"delayhidemenu()\">acad\xEAmico</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu4, '150px')\" onMouseout=\"delayhidemenu()\">financeiro</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu5, '170px')\" onMouseout=\"delayhidemenu()\">fora de sala</a><BR></td>\r\n\t\t </tr>\r\n\t\t </table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=\"top\">\r\n \t\t<!-- Centro da P\xE1gina -->\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td valign=\"top\">\r\n\t\t\t\t\t\t\t\t<table width=\"96%\" align=\"center\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td valign=\"top\">\r\n<BR>\r\n<div id=\"limite\"></div>\r\n<div id='conteudo'></div> <table width=\"99%\" border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\">\r\n\t\t\t\t<tr bgcolor=\"#9999CC\"> \r\n\t\t\t\t\t\t<td bgcolor=\"#47778b\"><b>Disciplina</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>1\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>2\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>3\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>4\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>Sub.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>M\xE9dia</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>Ciclo Rec.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>Situa\xE7\xE3o</b></td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>ADMINISTRAÇÃO E ECONOMIA</td>\r\n\t\t\t\t\t\t<td align=\"center\">N.C.</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>COMPILADORES</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>ESTÁGIO SUPERVISIONADO</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>GERENCIAMENTO DE PROJETOS E SISTEMAS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>INTELIGENCIA ARTIFICIAL</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>METODOLOGIA CIENTÍFICA E TECNOLÓGICA</td>\r\n\t\t\t\t\t\t<td align=\"center\">N.C.</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>PERIFÉRICOS E INTERFACES</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>PROCESSAMENTO GRÁFICO E DE IMAGENS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>PROJETO E ANÁLISE DE ALGORITMOS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>ROBÓTICA E AUTOMAÇÃO INDUSTRIAL</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>SISTEMAS DISTRIBUÍDOS E PROGRAMAÇÃO CONCORRENTE</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>SISTEMAS EMBARCADOS MICROPROCESSADOS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>TÓPICOS EM ENGENHARIA DE COMPUTAÇÃO</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>TRABALHO DE CONCLUSÃO DE CURSO</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t</table>\r\n\t\t\t<BR>\r\n\t\t \t<center>Acesse <b>\"<a href=\"/alunos/consultas/historico/\">Hist\xF3rico Escolar</a>\"</b> para consultar disciplinas j\xE1 encerradas.</center>\r\n\t\t \r\n\t\t <BR><BR>\r\n\t\t \r\n\t\t <strong>Legenda Coluna Situa\xE7\xE3o:</strong><br />\r\n\t\t Situa\xE7\xE3o CRS = Cursando;<br />\r\n\t\t Situa\xE7\xE3o CRN = Ciclo de Recupera\xE7\xE3o por Nota;<br />\r\n\t\t Situa\xE7\xE3o CRF = Ciclo de Recupera\xE7\xE3o por Falta;<br /><BR>\r\n\t\t \r\n\t\t <strong>Importante:</strong><br /><BR>\r\n\t\t 1. Informamos que os professores respons\xE1veis pelas disciplinas devem encaminhar as notas para Secretaria eletronicamente, portanto quaisquer d\xFAvidas em rela\xE7\xE3o \xE0s notas lan\xE7adas no sistema devem ser tratadas diretamente com o professor.<BR><BR>\r\n\t\t\t2. A responsabilidade do cumprimento dos prazos de encaminhamento das notas para a Secretaria fica a cargo da coordena\xE7\xE3o de cada curso.<BR><BR>\r\n\t\t\t3. As notas s\xE3o disponibilizadas automaticamente na UNIARA Virtual em at\xE9 24 horas ap\xF3s seu envio.<BR>\r\n\t\t\t<BR>\r\n\t\t\t<div id=\"limite2\"></div>\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table> \t\t\t\t<!-- Fim Centro da P\xE1gina -->\r\n\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"20\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"1\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"2\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#000000\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"2\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"84\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"109\"><img src=\"/templates/alunos/imagens/t18.jpg\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"20\" background=\"/templates/alunos/imagens/t19.jpg\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td background=\"/templates/alunos/imagens/t19.jpg\">\r\n\t\t\t\t\t\t\t\t<font face=\"verdana\" size=\"1\" color=\"#4c4c4c\">\r\n\t\t\t\t\t\t\t\t\t<BR>\r\n\t\t\t\t\t\t\t\t\t<B>Copyright \xA9 2015 Centro Universit\xE1rio de Araraquara - UNIARA.</B><BR>\r\n\t\t\t\t\t\t\t\t\tTodos os direitos reservados - UV.2.1-WV - NOTAS-2.0-BETA-1-WV.<BR><BR> \r\n\t\t\t\t\t\t\t\t</font>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"15\"><img src=\"/templates/alunos/imagens/t20.jpg\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"5\">\r\n\t\t\t\t\t<img src=\"/templates/alunos/imagens/trans.gif\"><BR>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</body>\r\n</html>\r\n<script type=\"text/javascript\">\r\n\r\n var _gaq = _gaq || [];\r\n _gaq.push(['_setAccount', 'UA-27812250-1']);\r\n _gaq.push(['_setDomainName', 'uniara.com.br']);\r\n _gaq.push(['_trackPageview']);\r\n\r\n (function() {\r\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r\n })();\r\n\r\n</script>\r\n
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
require 'simplecov'
|
4
|
+
require 'support/fixture_helper'
|
5
|
+
|
6
|
+
SimpleCov.start do
|
7
|
+
add_filter '/spec/'
|
8
|
+
end
|
9
|
+
|
10
|
+
RSpec.configure do |config|
|
11
|
+
config.include FixtureHelper
|
12
|
+
end
|
13
|
+
|
14
|
+
require 'uniara_virtual_parser'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
describe Client do
|
5
|
+
after :each do
|
6
|
+
described_class.instance_variable_set :@client, nil
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:client) { double(:client, post: true) }
|
10
|
+
|
11
|
+
describe '.client' do
|
12
|
+
it 'create only one hurley_client object' do
|
13
|
+
expect(Hurley::Client).to receive(:new).once { client }
|
14
|
+
described_class.post '/batman'
|
15
|
+
described_class.post '/batman'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.post' do
|
20
|
+
it 'calls hurley_client and send the post' do
|
21
|
+
expect(client).to receive(:post).with('/batman')
|
22
|
+
allow(Hurley::Client).to receive(:new) { client }
|
23
|
+
described_class.post '/batman'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
module Services
|
5
|
+
describe Grades do
|
6
|
+
describe '.grades' do
|
7
|
+
it 'fetch the content of uniara virtual and bring the array with grades' do
|
8
|
+
stub_request(:get, "http://virtual.uniara.com.br/alunos/consultas/notas/").
|
9
|
+
to_return(:status => 200, body: uniara_virtual_fixture("grades.html").read, headers: {})
|
10
|
+
grades = described_class.grades
|
11
|
+
expect(grades.first.name).to eq "ADMINISTRAÇÃO E ECONOMIA"
|
12
|
+
expect(grades.length).to eq 14
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
module Services
|
5
|
+
describe Login do
|
6
|
+
let(:body) do
|
7
|
+
{ 'senha' => 'wayne', 'username' => 'bruce' }
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'with a valid login' do
|
11
|
+
let(:response_headers) do
|
12
|
+
{
|
13
|
+
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
14
|
+
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
15
|
+
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
16
|
+
'path=/; domain=.uniara.com.br, UVXS233E3=S;'\
|
17
|
+
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'sets the token in the Client' do
|
22
|
+
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
23
|
+
.with(body: body)
|
24
|
+
.to_return(status: 200, body: '', headers: response_headers)
|
25
|
+
|
26
|
+
expect { described_class.login 'bruce', 'wayne' }
|
27
|
+
.to change(Client, :token)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'with an invalid login' do
|
32
|
+
let(:response_headers) do
|
33
|
+
{
|
34
|
+
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
35
|
+
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
36
|
+
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
37
|
+
'path=/; domain=.uniara.com.br,'\
|
38
|
+
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
39
|
+
}
|
40
|
+
end
|
41
|
+
it 'raises InvalidLogin error' do
|
42
|
+
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
43
|
+
.with(body: body)
|
44
|
+
.to_return(status: 200, body: '', headers: response_headers)
|
45
|
+
|
46
|
+
expect { described_class.login 'bruce', 'wayne' }
|
47
|
+
.to raise_error(UniaraVirtualParser::InvalidLogin)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'uniara_virtual_parser/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'uniara_virtual_parser'
|
8
|
+
spec.version = UniaraVirtualParser::VERSION
|
9
|
+
spec.authors = ['Carlos Ribeiro']
|
10
|
+
spec.email = ['mail@carlosribeiro.me']
|
11
|
+
spec.summary = 'A Gem to parse the Uniara Virtual system'
|
12
|
+
spec.description = spec.summary
|
13
|
+
spec.homepage = ''
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_dependency 'hurley', '~> 0.1'
|
22
|
+
spec.add_dependency 'nokogiri', '~> 1.6.6.2'
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
24
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.2.0'
|
26
|
+
spec.add_development_dependency 'simplecov', '~> 0.10.0'
|
27
|
+
spec.add_development_dependency 'webmock', '~> 1.21.0'
|
28
|
+
end
|
metadata
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: uniara_virtual_parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Carlos Ribeiro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: hurley
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.6.6.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.6.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 3.2.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.2.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.10.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.10.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webmock
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.21.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.21.0
|
111
|
+
description: A Gem to parse the Uniara Virtual system
|
112
|
+
email:
|
113
|
+
- mail@carlosribeiro.me
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".rspec"
|
120
|
+
- ".rubocop.yml"
|
121
|
+
- ".ruby-gemset"
|
122
|
+
- ".ruby-version"
|
123
|
+
- ".travis.yml"
|
124
|
+
- Gemfile
|
125
|
+
- LICENSE.txt
|
126
|
+
- README.md
|
127
|
+
- Rakefile
|
128
|
+
- lib/uniara_virtual_parser.rb
|
129
|
+
- lib/uniara_virtual_parser/client.rb
|
130
|
+
- lib/uniara_virtual_parser/models/subject.rb
|
131
|
+
- lib/uniara_virtual_parser/services/grades.rb
|
132
|
+
- lib/uniara_virtual_parser/services/login.rb
|
133
|
+
- lib/uniara_virtual_parser/version.rb
|
134
|
+
- spec/fixtures/uniara_virtual/grades.html
|
135
|
+
- spec/spec_helper.rb
|
136
|
+
- spec/support/fixture_helper.rb
|
137
|
+
- spec/uniara_virtual_parser/client_spec.rb
|
138
|
+
- spec/uniara_virtual_parser/services/grades_spec.rb
|
139
|
+
- spec/uniara_virtual_parser/services/login_spec.rb
|
140
|
+
- uniara_virtual_parser.gemspec
|
141
|
+
homepage: ''
|
142
|
+
licenses:
|
143
|
+
- MIT
|
144
|
+
metadata: {}
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options: []
|
147
|
+
require_paths:
|
148
|
+
- lib
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
requirements: []
|
160
|
+
rubyforge_project:
|
161
|
+
rubygems_version: 2.4.3
|
162
|
+
signing_key:
|
163
|
+
specification_version: 4
|
164
|
+
summary: A Gem to parse the Uniara Virtual system
|
165
|
+
test_files:
|
166
|
+
- spec/fixtures/uniara_virtual/grades.html
|
167
|
+
- spec/spec_helper.rb
|
168
|
+
- spec/support/fixture_helper.rb
|
169
|
+
- spec/uniara_virtual_parser/client_spec.rb
|
170
|
+
- spec/uniara_virtual_parser/services/grades_spec.rb
|
171
|
+
- spec/uniara_virtual_parser/services/login_spec.rb
|