iesde 1.1.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README-OLD-API.md +258 -0
  4. data/README.md +137 -177
  5. data/examples/aulas/buscar.rb +45 -0
  6. data/examples/aulas/link_video.rb +36 -0
  7. data/examples/disciplinas/aulas.rb +30 -0
  8. data/examples/disciplinas/buscar.rb +27 -0
  9. data/examples/disciplinas/link_pdf.rb +14 -0
  10. data/examples/matriculas/ativar.rb +33 -0
  11. data/examples/matriculas/buscar.rb +15 -0
  12. data/examples/matriculas/criar.rb +38 -0
  13. data/examples/matriculas/criar_com_campos_obrigatorios.rb +20 -0
  14. data/iesde.gemspec +12 -3
  15. data/lib/concerns/linkable.rb +6 -0
  16. data/lib/concerns/stringable.rb +7 -0
  17. data/lib/concerns/underscorable.rb +13 -0
  18. data/lib/iesde.rb +28 -16
  19. data/lib/iesde/api.rb +109 -0
  20. data/lib/iesde/api/alterar_status_matricula.rb +9 -0
  21. data/lib/iesde/api/criar_matricula.rb +13 -0
  22. data/lib/iesde/api/obter_aula.rb +12 -0
  23. data/lib/iesde/api/obter_dados_pdf.rb +9 -0
  24. data/lib/iesde/api/obter_disciplina.rb +11 -0
  25. data/lib/iesde/api/obter_link_pdf.rb +10 -0
  26. data/lib/iesde/api/obter_matricula.rb +11 -0
  27. data/lib/iesde/api/obter_video.rb +11 -0
  28. data/lib/iesde/config.rb +2 -2
  29. data/lib/iesde/model/aula.rb +12 -21
  30. data/lib/iesde/model/disciplina.rb +45 -0
  31. data/lib/iesde/model/matricula.rb +43 -23
  32. data/lib/iesde/request.rb +70 -0
  33. data/lib/iesde/version.rb +1 -1
  34. metadata +171 -30
  35. data/lib/iesde/clients/buscararquivo.rb +0 -28
  36. data/lib/iesde/clients/cadastro.rb +0 -32
  37. data/lib/iesde/clients/inativa_acesso.rb +0 -21
  38. data/lib/iesde/clients/lista_curso.rb +0 -22
  39. data/lib/iesde/clients/logout.rb +0 -34
  40. data/lib/iesde/clients/obtem_aulas.rb +0 -21
  41. data/lib/iesde/clients/obtem_matriculas.rb +0 -23
  42. data/lib/iesde/error/validation_error.rb +0 -6
  43. data/lib/iesde/model/aluno.rb +0 -21
  44. data/lib/iesde/model/curso.rb +0 -113
  45. data/lib/iesde/wsdl_client.rb +0 -79
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 489a6788ad5398cb6a8c323b7547b5bb29c8c7ca
4
- data.tar.gz: 5dff3b42851d2f5153594c8a164e4bf5a3c67434
3
+ metadata.gz: 6937ba51e796cd6ffb2c1a3ac5935f3a79d4ca17
4
+ data.tar.gz: b56cacb34cf8197e5c3b848a24d2691ba2a9c3de
5
5
  SHA512:
6
- metadata.gz: 1e72b75a2bbaeb4c246199fd801cbfa4b17941f64c975b7a334d8f54ead804f02a27efe25196ae71cf2b748228c29f4f7eb1637b93f517896a25124443b85b32
7
- data.tar.gz: 2c2298fdc04545a7bc20565180e694b69dda1223e8e05f2a510cd2989b44f4234156a4a1c00d251b08df5fdcbd0a4a7957489b1a11d8b4f1d33b8c4cda4ca1a9
6
+ metadata.gz: 1be65ff4d63f2cac4ef9cec5a7f935e1560d01707832a21b17d5a2ca5c606bb0ea55a7b9e80c0ccd53b15473cea39e02e84c3aa40b4fe4ff23618926ed5f76cb
7
+ data.tar.gz: 5f99358d7178bbb4b88af2c1124fa48bd6766ee363ec5601028e1a42290d67d7cfd1a0a0b3e5d003e2fc99f8a5f210e900f0489aaa51b13140d3109a7b115641
data/.gitignore CHANGED
@@ -6,4 +6,5 @@
6
6
  /doc/
7
7
  /pkg/
8
8
  /spec/reports/
9
+ /spec/fixtures/
9
10
  /tmp/
data/README-OLD-API.md ADDED
@@ -0,0 +1,258 @@
1
+ # Iesde
2
+
3
+ Interface para acesso ao WebService do [Iesde][siteiesde] para sistemas Rails. Não se trata de uma ferramenta oficial pois foi desenvolvida por necessidade dos nossos desenvolvedores. Sintam-se livres para contribuir.
4
+
5
+ ## Índice
6
+ \- [Iesde](#iesde)
7
+ - [Versão](#vers%C3%A3o)
8
+ - [Instalação](#instala%C3%A7%C3%A3o)
9
+ - [Uso](#uso)
10
+ - [Listagem de Cursos](#listagem-de-cursos)
11
+ - [Busca de curso por Id](#busca-de-curso-por-id)
12
+ - [Listagem de Aulas](#listagem-de-aulas)
13
+ - [Listagem de Matrículas](#listagem-de-matr%C3%ADculas)
14
+ - [PDF](#pdf)
15
+ - [Matricular Aluno](#matricular-aluno)
16
+ - [Inativação de Aluno](#inativa%C3%A7%C3%A3o-de-aluno)
17
+ - [Logout](#logout)
18
+ - [Default Configs](#default-configs)
19
+ - [Relacionamentos](#relacionamentos)
20
+
21
+ ## Versão
22
+ 1.1.1 - Seguindo a documentação v14 do WebService
23
+
24
+ ## Instalação
25
+
26
+ ```sh
27
+ gem install iesde -v 1.1.1
28
+ ```
29
+
30
+ Ou no seu Gemfile
31
+ ```ruby
32
+ gem 'iesde', '~> 1.1.1'
33
+ ```
34
+
35
+ ## Uso
36
+
37
+ > Todas as buscas no WebService exigem os parâmetros **login** e **senha**.
38
+ > Caso você possua apenas um usuário de acesso ao WebService, você pode configurar esses parâmetros em um initializer.
39
+ > Veja na seção [Default Configs](#default-configs).
40
+
41
+ ### Listagem de Cursos
42
+
43
+ Retorna um array de ```Iesde::Model::Curso```
44
+ ```ruby
45
+ parametros = {
46
+ login: "0123456789",
47
+ senha: "9d7d5741ab23397aa15937fcd4121a32",
48
+ busca: "",
49
+ tipo: "C",
50
+ site: "",
51
+ idCurso: ""
52
+ }
53
+ cursos = Iesde::Model::Curso.buscar(parametros)
54
+ => [#<Iesde::Model::Curso>, #<Iesde::Model::Curso>, #<Iesde::Model::Curso>, ...]
55
+ ```
56
+ ### Busca de curso por Id
57
+ Esta busca realiza uma varredura em todos os cursos e pacotes em busca do **id** passado como parâmetro.
58
+
59
+ Retorna um ```Iesde::Model::Curso```
60
+ ```ruby
61
+ curso = Iesde::Model::Curso.find id: 1000, login: "0123456789", senha: "9d7d5741ab23397aa15937fcd4121a32"
62
+ => #<Iesde::Model::Curso>
63
+
64
+ curso.id
65
+ => "1000"
66
+
67
+ curso.nome
68
+ => "A BUSCA DA PERFEICÃO"
69
+ ```
70
+
71
+ ### Listagem de Aulas
72
+ Retorna um array de ```Iesde::Model::Aula```
73
+
74
+ ```ruby
75
+ parametros = {
76
+ login: "0123456789",
77
+ senha: "9d7d5741ab23397aa15937fcd4121a32",
78
+ loginAluno: "",
79
+ cpf: "",
80
+ curso: "1000",
81
+ ancora: "",
82
+ tipo: "C"
83
+ }
84
+ aulas = Iesde::Model::Aula.buscar(parametros)
85
+ => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
86
+ ```
87
+
88
+ Ou já tendo o curso carregado...
89
+
90
+ ```ruby
91
+ curso.aulas
92
+ => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
93
+ ```
94
+
95
+ ### Listagem de Matrículas
96
+
97
+ Retorna um array de ```Iesde::Model::Matricula ```
98
+
99
+ ```ruby
100
+ parametros = {
101
+ login: "0123456789",
102
+ senha: "9d7d5741ab23397aa15937fcd4121a32",
103
+ curso: "6376",
104
+ tipo: "C"
105
+ }
106
+ Iesde::Model::Matricula.buscar(parametros)
107
+ => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
108
+ ```
109
+ Ou já tendo o curso carregado...
110
+
111
+ ```ruby
112
+ curso.matriculas
113
+ => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
114
+ ```
115
+ ### PDF
116
+
117
+ Para obter o link do PDF da aula, basta carregar o modelo ```Iesde::Model::Aula``` e usar os métodos auxiliares:
118
+
119
+ ```ruby
120
+ # passando email e cpf do aluno...
121
+ aula.link_pdf "aluno@minhaorganizacao.com.br", "12345678900"
122
+ => "http://ws.videoaulasonline.com.br/pdf/imprime/caracteres_malucos"
123
+
124
+ # passando um modelo Iesde::Model::Aluno...
125
+ aula.link_para aluno
126
+ => "http://ws.videoaulasonline.com.br/pdf/imprime/caracteres_malucos"
127
+ ```
128
+
129
+ ### Matricular Aluno
130
+
131
+ Realiza a matrícula no WebService e retorna um ```Iesde::Model::Matricula```
132
+
133
+ ```ruby
134
+ parametros = {
135
+ login: "0190001388",
136
+ senha: "9d7d5741ab23397afeb81829a3d5ebd7",
137
+ loginAluno: "aluno@minhaorganizacao.com.br",
138
+ cpf: "12345678900",
139
+ curso: "1000",
140
+ duracao: "90",
141
+ tipo: "C",
142
+ valor: ""
143
+ }
144
+ matricula = Iesde::Model::Matricula.criar(parametros)
145
+ => #<Iesde::Model::Matricula>
146
+ ```
147
+
148
+ ### Inativação de Aluno
149
+
150
+ Inativa a matrícula e retorna ```true``` se sucesso.
151
+
152
+ ```ruby
153
+ parametros = {
154
+ login: "0190001388",
155
+ senha: "9d7d5741ab23397afeb81829a3d5ebd7",
156
+ :"LoginID" => "12345"
157
+ }
158
+ Iesde::Model::Matricula.inativar(parametros)
159
+ => true
160
+ ```
161
+
162
+ Ou caso já possua a matrícula carregada...
163
+
164
+ ```ruby
165
+ matricula.inativar
166
+ => true
167
+ ```
168
+ ### Logout
169
+
170
+ Realiza logout do aluno e retorna ```true``` se sucesso.
171
+
172
+ ```ruby
173
+ parametros = {
174
+ login: "0190001388",
175
+ senha: "9d7d5741ab23397afeb81829a3d5ebd7",
176
+ loginAluno: "aluno@minhaorganizacao.com.br",
177
+ cpf: "12345678900"
178
+ }
179
+ Iesde::Model::Aluno.logout(parametros)
180
+ => true
181
+ ```
182
+
183
+ Ou você pode obter a instância de ```Iesde::Model::Aluno``` e chamar diretamente...
184
+
185
+ ```ruby
186
+ aluno = matricula.aluno
187
+ => #<Iesde::Model::Aluno>
188
+ aluno.logout
189
+ => true
190
+ ```
191
+
192
+ ```ruby
193
+ aluno = curso.matriculas.first.aluno
194
+ => #<Iesde::Model::Aluno>
195
+ aluno.logout
196
+ => true
197
+ ```
198
+
199
+ ## Default Configs
200
+ Caso você utilize apenas um usuário do WebService em sua aplicação, seria interessante não passar os parâmetros **login** e **senha** em toda busca.
201
+
202
+ Você pode configurar num initializer esses parâmetros:
203
+
204
+ ```ruby
205
+ Iesde::configure do |config|
206
+ config.default_username = "0190001388"
207
+ config.default_password = "9d7d5741ab23397afeb81829a3d5ebd7"
208
+ end
209
+ ```
210
+
211
+ Então poderá realizar as requisições sem passar estes parâmetros. Exemplos:
212
+
213
+ ```ruby
214
+ cursos = Iesde::Model::Curso.buscar busca: "", tipo: "C", site: "", idCurso: ""
215
+ => [#<Iesde::Model::Curso>, #<Iesde::Model::Curso>, #<Iesde::Model::Curso>, ...]
216
+
217
+ curso = Iesde::Model::Curso.find id: 1000
218
+ => #<Iesde::Model::Curso>
219
+
220
+ Iesde::Model::Matricula.inativar :"LoginID" => "12345"
221
+ => true
222
+ ```
223
+
224
+ ## Relacionamentos
225
+
226
+ - Um ```Iesde::Model::Curso``` possui várias ```Iesde::Model::Aula```e várias ```Iesde::Model::Matricula```
227
+ - Uma ```Iesde::Model::Matricula``` possui um ```Iesde::Model::Aluno``` e um ```Iesde::Model::Curso```
228
+ - Logo ```Iesde::Model::Curso``` possui vários ```Iesde::Model::Aluno```
229
+ ```ruby
230
+ # Busca aulas no WS do curso
231
+ curso.aulas
232
+ => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
233
+
234
+ aula.curso
235
+ => #<Iesde::Model::Curso>
236
+
237
+ curso.matriculas
238
+ => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
239
+
240
+ matricula.curso
241
+ => #<Iesde::Model::Curso>
242
+
243
+ matricula.aluno
244
+ => #<Iesde::Model::Aluno>
245
+
246
+ curso.alunos
247
+ => [#<Iesde::Model::Aluno>, #<Iesde::Model::Aluno>, #<Iesde::Model::Aluno>, ...]
248
+ ```
249
+
250
+ > A maioria destas operações só busca do WS uma vez. Ao buscar as aulas de um curso, elas já vem com o curso carregado em suas instâncias, evitando outra chamada ao WS para buscar o curso ao fazer ```aula.curso```.
251
+
252
+ ## Licença
253
+
254
+ MIT Licence. Copyright (c) 2016 Fortes Tecnologia. http://www.fortestecnologia.com.br
255
+
256
+ ![ft](http://www.fortestecnologia.com.br/templates/fortesinfo/images/grupo-fortes.png)
257
+
258
+ [siteiesde]:<http://www.iesde.com.br>
data/README.md CHANGED
@@ -1,258 +1,218 @@
1
1
  # Iesde
2
2
 
3
- Interface para acesso ao WebService do [Iesde][siteiesde] para sistemas Rails. Não se trata de uma ferramenta oficial pois foi desenvolvida por necessidade dos nossos desenvolvedores. Sintam-se livres para contribuir.
4
-
5
- ## Índice
6
- \- [Iesde](#iesde)
7
- - [Versão](#vers%C3%A3o)
8
- - [Instalação](#instala%C3%A7%C3%A3o)
9
- - [Uso](#uso)
10
- - [Listagem de Cursos](#listagem-de-cursos)
11
- - [Busca de curso por Id](#busca-de-curso-por-id)
12
- - [Listagem de Aulas](#listagem-de-aulas)
13
- - [Listagem de Matrículas](#listagem-de-matr%C3%ADculas)
14
- - [PDF](#pdf)
15
- - [Matricular Aluno](#matricular-aluno)
16
- - [Inativação de Aluno](#inativa%C3%A7%C3%A3o-de-aluno)
17
- - [Logout](#logout)
18
- - [Default Configs](#default-configs)
19
- - [Relacionamentos](#relacionamentos)
3
+ Interface para acesso ao WebService do [IESDE](http://www.iesde.com.br) para sistemas Rails. Não se trata de uma ferramenta oficial pois foi desenvolvida por necessidade dos nossos desenvolvedores. Sintam-se livres para contribuir.
20
4
 
21
5
  ## Versão
22
- 1.0.1 - Seguindo a documentação v14 do WebService
6
+ 2.0.0 - Seguindo a nova documentação WebService REST. Caso esteja usando o antigo WebService SOAP utilize a [documentação da versão 1.1.1](README-OLD-API.md)
23
7
 
24
8
  ## Instalação
25
9
 
26
10
  ```sh
27
- gem install iesde -v 1.0.1
11
+ gem install iesde -v 2.0.0
28
12
  ```
29
13
 
30
14
  Ou no seu Gemfile
31
15
  ```ruby
32
- gem 'iesde', '~> 1.0.1'
16
+ gem 'iesde', '~> 2.0.0'
33
17
  ```
34
18
 
35
- ## Uso
36
19
 
37
- > Todas as buscas no WebService exigem os parâmetros **login** e **senha**.
38
- > Caso você possua apenas um usuário de acesso ao WebService, você pode configurar esses parâmetros em um initializer.
39
- > Veja na seção [Default Configs](#default-configs).
20
+ ## Default Configs
21
+ Caso você utilize apenas um usuário do WebService em sua aplicação, seria interessante não passar as chaves de acesso em toda busca.
40
22
 
41
- ### Listagem de Cursos
23
+ Você pode configurar num initializer esses parâmetros:
42
24
 
43
- Retorna um array de ```Iesde::Model::Curso```
44
25
  ```ruby
45
- parametros = {
46
- login: "0123456789",
47
- senha: "9d7d5741ab23397aa15937fcd4121a32",
48
- busca: "",
49
- tipo: "C",
50
- site: "",
51
- idCurso: ""
52
- }
53
- cursos = Iesde::Model::Curso.buscar(parametros)
54
- => [#<Iesde::Model::Curso>, #<Iesde::Model::Curso>, #<Iesde::Model::Curso>, ...]
26
+ # config/initializers/iesde.rb
27
+
28
+ Iesde.configure do |c|
29
+ c.user = "1234567890123456"
30
+ c.password = "1234567890123456"
31
+ c.ead_api_key = "1234567890123456"
32
+ end
55
33
  ```
56
- ### Busca de curso por Id
57
- Esta busca realiza uma varredura em todos os cursos e pacotes em busca do **id** passado como parâmetro.
58
34
 
59
- Retorna um ```Iesde::Model::Curso```
60
- ```ruby
61
- curso = Iesde::Model::Curso.find id: 1000, login: "0123456789", senha: "9d7d5741ab23397aa15937fcd4121a32"
62
- => #<Iesde::Model::Curso>
35
+ ### Listagem de Disciplinas
63
36
 
64
- curso.id
65
- => "1000"
37
+ Retorna um array de ```Iesde::Model::Disciplina```
38
+ ```ruby
39
+ disciplinas = Iesde::Model::Disciplina.buscar
40
+ => [#<Iesde::Model::Disciplina>, #<Iesde::Model::Disciplina>, #<Iesde::Model::Disciplina>, ...]
66
41
 
67
- curso.nome
68
- => "A BUSCA DA PERFEICÃO"
69
- ```
42
+ disciplina = disciplinas.first
70
43
 
71
- ### Listagem de Aulas
72
- Retorna um array de ```Iesde::Model::Aula```
44
+ disciplina.curso_id
45
+ => "123456"
73
46
 
74
- ```ruby
75
- parametros = {
76
- login: "0123456789",
77
- senha: "9d7d5741ab23397aa15937fcd4121a32",
78
- loginAluno: "",
79
- cpf: "",
80
- curso: "1000",
81
- ancora: "",
82
- tipo: "C"
83
- }
84
- aulas = Iesde::Model::Aula.buscar(parametros)
85
- => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
47
+ disciplina.computed
48
+ => "ELABORAÇÃO DE ROTEIROS E PACOTES"
86
49
  ```
87
50
 
88
- Ou tendo o curso carregado...
51
+ ### Listagem de Matrículas
89
52
 
53
+ Retorna um array de ```Iesde::Model::Matricula```
90
54
  ```ruby
91
- curso.aulas
92
- => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
93
- ```
55
+ Matriculas = Iesde::Model::Matricula.buscar
56
+ => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
94
57
 
95
- ### Listagem de Matrículas
58
+ matricula = matriculas.first
96
59
 
97
- Retorna um array de ```Iesde::Model::Matricula ```
60
+ matricula.matricula_id
61
+ => "123456"
98
62
 
99
- ```ruby
100
- parametros = {
101
- login: "0123456789",
102
- senha: "9d7d5741ab23397aa15937fcd4121a32",
103
- curso: "6376",
104
- tipo: "C"
63
+ matricula.aluno
64
+ => "Fulano da Silva"
65
+
66
+ matricula.situacao
67
+ => "A"
68
+ ```
69
+
70
+ ### Criar uma Matrícula
71
+
72
+ Retorna a ```Iesde::Model::Matricula``` criada quando parâmetros enviados corretamente.
73
+
74
+ ```ruby
75
+ params = {
76
+ 'CursoID' => 123456 ,
77
+ 'PoloID' => 123,
78
+ 'Nome' => 'Aluno da Silva',
79
+ 'CPF' => '12345678900',
80
+ 'Email' => 'aluno@email.com',
81
+ 'RG' => '2003000152000',
82
+ 'OrgaoRG' => 'ABC',
83
+ 'UFRG' => 'CE',
84
+ 'CEP' => '60120-140',
85
+ 'Endereco' => 'Rua dos Anzois Pereira',
86
+ 'Bairro' => 'Bairroso',
87
+ 'Numero' => 123,
88
+ 'Compl' => 'Bloco Z apto 500',
89
+ 'Telefone' => '8588889999',
90
+ 'Celular' => '8599999999',
91
+ 'DtNascto' => '06/01/1966',
92
+ 'EstadoCivil' => 1,
93
+ 'Sexo' => 'M'
105
94
  }
106
- Iesde::Model::Matricula.buscar(parametros)
107
- => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
108
- ```
109
- Ou já tendo o curso carregado...
110
95
 
111
- ```ruby
112
- curso.matriculas
113
- => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
96
+ matricula = Iesde::Model::Matricula.criar(params)
97
+ => #<Iesde::Model::Matricula>
114
98
  ```
115
- ### PDF
116
99
 
117
- Para obter o link do PDF da aula, basta carregar o modelo ```Iesde::Model::Aula``` e usar os métodos auxiliares:
100
+ Se não, uma ```Iesde::Error::WSError``` é lançada com a mensagem do erro.
118
101
 
119
102
  ```ruby
120
- # passando email e cpf do aluno...
121
- aula.link_pdf "aluno@minhaorganizacao.com.br", "12345678900"
122
- => "http://ws.videoaulasonline.com.br/pdf/imprime/caracteres_malucos"
103
+ Iesde::Model::Matricula.criar(parametros)
104
+ => CPF inválido! (Iesde::Error::WSError)
123
105
 
124
- # passando um modelo Iesde::Model::Aluno...
125
- aula.link_para aluno
126
- => "http://ws.videoaulasonline.com.br/pdf/imprime/caracteres_malucos"
127
- ```
106
+ Iesde::Model::Matricula.criar(parametros2)
107
+ => Erro: Encontramos o CPF ( 12345678900 ) para o E-MAIL ( usuario@outro.com ) (Iesde::Error::WSError)
128
108
 
129
- ### Matricular Aluno
109
+ Iesde::Model::Matricula.criar(parametros)
110
+ => Curso é um campo obrigatório! (Iesde::Error::WSError)
111
+ ```
130
112
 
131
- Realiza a matrícula no WebService e retorna um ```Iesde::Model::Matricula```
113
+ Nem todos os parâmetros são obrigatórios. Você pode utilizar o método:
132
114
 
133
115
  ```ruby
134
- parametros = {
135
- login: "0190001388",
136
- senha: "9d7d5741ab23397afeb81829a3d5ebd7",
137
- loginAluno: "aluno@minhaorganizacao.com.br",
138
- cpf: "12345678900",
139
- curso: "1000",
140
- duracao: "90",
141
- tipo: "C",
142
- valor: ""
143
- }
144
- matricula = Iesde::Model::Matricula.criar(parametros)
145
- => #<Iesde::Model::Matricula>
116
+ criar_com_campos_obrigatorios(id_curso, nome, cpf, email, cep, numero_casa)
146
117
  ```
147
-
148
- ### Inativação de Aluno
149
-
150
- Inativa a matrícula e retorna ```true``` se sucesso.
118
+ que retorna matrícula
151
119
 
152
120
  ```ruby
153
- parametros = {
154
- login: "0190001388",
155
- senha: "9d7d5741ab23397afeb81829a3d5ebd7",
156
- :"LoginID" => "12345"
157
- }
158
- Iesde::Model::Matricula.inativar(parametros)
159
- => true
121
+ matricula = Iesde::Model::Matricula.criar_com_campos_obrigatorios(123456, 'Fulan Da Silva', '12345678900', 'fulan@email.com','60120-140', 123)
122
+ => #<Iesde::Model::Matricula>
160
123
  ```
161
124
 
162
- Ou caso possua a matrícula carregada...
125
+ Você pode ativar ou desativar uma matrícula através dos métodos
163
126
 
164
127
  ```ruby
165
- matricula.inativar
166
- => true
167
- ```
168
- ### Logout
128
+ matricula = matricula.ativar!
129
+ => #<Iesde::Model::Matricula>
169
130
 
170
- Realiza logout do aluno e retorna ```true``` se sucesso.
131
+ matricula.situacao
132
+ => "A"
171
133
 
172
- ```ruby
173
- parametros = {
174
- login: "0190001388",
175
- senha: "9d7d5741ab23397afeb81829a3d5ebd7",
176
- loginAluno: "aluno@minhaorganizacao.com.br",
177
- cpf: "12345678900"
178
- }
179
- Iesde::Model::Aluno.logout(parametros)
180
- => true
134
+ matricula = matricula.inativar!
135
+ => #<Iesde::Model::Matricula>
136
+
137
+ matricula.situacao
138
+ => "I"
181
139
  ```
182
140
 
183
- Ou você pode obter a instância de ```Iesde::Model::Aluno``` e chamar diretamente...
141
+ ### Listagem de Aulas
184
142
 
185
- ```ruby
186
- aluno = matricula.aluno
187
- => #<Iesde::Model::Aluno>
188
- aluno.logout
189
- => true
190
- ```
143
+ Retorna um array de ```Iesde::Model::Aula``` para a matrícula cujo id é passado como parâmetro.
191
144
 
192
145
  ```ruby
193
- aluno = curso.matriculas.first.aluno
194
- => #<Iesde::Model::Aluno>
195
- aluno.logout
196
- => true
197
- ```
146
+ # Pega uma disciplina
198
147
 
199
- ## Default Configs
200
- Caso você utilize apenas um usuário do WebService em sua aplicação, seria interessante não passar os parâmetros **login** e **senha** em toda busca.
148
+ disciplina = Iesde::Model::Disciplina.buscar.first
149
+ => #<Iesde::Model::Disciplina>
201
150
 
202
- Você pode configurar num initializer esses parâmetros:
151
+ # Lista suas aulas
203
152
 
204
- ```ruby
205
- Iesde::configure do |config|
206
- config.default_username = "0190001388"
207
- config.default_password = "9d7d5741ab23397afeb81829a3d5ebd7"
208
- end
153
+ disciplina.aulas(matricula.matricula_id)
154
+ => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
209
155
  ```
210
156
 
211
- Então poderá realizar as requisições sem passar estes parâmetros. Exemplos:
157
+ ### Link para o PDF da Disciplina
158
+
159
+ Recebe o id da matricula e retorna o link para o download do PDF
212
160
 
213
161
  ```ruby
214
- cursos = Iesde::Model::Curso.buscar busca: "", tipo: "C", site: "", idCurso: ""
215
- => [#<Iesde::Model::Curso>, #<Iesde::Model::Curso>, #<Iesde::Model::Curso>, ...]
162
+ # Pega uma disciplina
163
+
164
+ disciplina = Iesde::Model::Disciplina.buscar.first
165
+ => #<Iesde::Model::Disciplina>
216
166
 
217
- curso = Iesde::Model::Curso.find id: 1000
218
- => #<Iesde::Model::Curso>
167
+ # obtem link do pdf
219
168
 
220
- Iesde::Model::Matricula.inativar :"LoginID" => "12345"
221
- => true
169
+ disciplina.pdf(matricula.matricula_id)
170
+ => "https:://linkparao.pdf"
222
171
  ```
223
172
 
224
- ## Relacionamentos
173
+ ### Link para o vídeo da aula
174
+
175
+ Retorna o link para o video da aula
225
176
 
226
- - Um ```Iesde::Model::Curso``` possui várias ```Iesde::Model::Aula```e várias ```Iesde::Model::Matricula```
227
- - Uma ```Iesde::Model::Matricula``` possui um ```Iesde::Model::Aluno``` e um ```Iesde::Model::Curso```
228
- - Logo ```Iesde::Model::Curso``` possui vários ```Iesde::Model::Aluno```
229
177
  ```ruby
230
- # Busca aulas no WS do curso
231
- curso.aulas
232
- => [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]
178
+ # Pega uma disciplina
233
179
 
234
- aula.curso
235
- => #<Iesde::Model::Curso>
180
+ disciplina = Iesde::Model::Disciplina.buscar.first
181
+ => #<Iesde::Model::Disciplina>
236
182
 
237
- curso.matriculas
238
- => [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]
183
+ # Pega uma aula
184
+ aula = disciplina.aulas.first
239
185
 
240
- matricula.curso
241
- => #<Iesde::Model::Curso>
186
+ # obtem link do video
242
187
 
243
- matricula.aluno
244
- => #<Iesde::Model::Aluno>
188
+ aula.link_video
189
+ => "https:://linkparaovideo.mp4"
190
+ ```
191
+
192
+ ## Passando chaves de acesso dinamicamente
193
+
194
+ Todas as funções do sistema permitem que sejam passadas as chaves de acesso de forma dinâmica limitando-se àquela ação.
245
195
 
246
- curso.alunos
247
- => [#<Iesde::Model::Aluno>, #<Iesde::Model::Aluno>, #<Iesde::Model::Aluno>, ...]
196
+ Ex:
197
+ ```ruby
198
+ aulas = Iesde::Model::Aula.buscar({
199
+ 'MatriculaID' => 12345,
200
+ 'DisciplinaID' => 123,
201
+ config: {
202
+ user: ENV['IESDE_USER'],
203
+ password: ENV['IESDE_PWD'],
204
+ ead_api_key: ENV['EAD_API_KEY']
205
+ }
206
+ })
248
207
  ```
249
208
 
250
- > A maioria destas operações só busca do WS uma vez. Ao buscar as aulas de um curso, elas já vem com o curso carregado em suas instâncias, evitando outra chamada ao WS para buscar o curso ao fazer ```aula.curso```.
209
+ ## Exemplos
210
+
211
+ Você pode ver exemplos de utilização da gem na pasta [examples](https://github.com/fortesinformatica/iesde/tree/master/examples).
251
212
 
252
213
  ## Licença
253
214
 
254
- MIT Licence. Copyright (c) 2016 Fortes Tecnologia. http://www.fortestecnologia.com.br
215
+ MIT Licence. Copyright (c) 2017 Elore Tecnologia. http://www.elore.com.br
255
216
 
217
+ ![el](https://d257kcgu1mtlxa.cloudfront.net/organizacoes/logotipos/000/000/036/normal/Logo_Elore.png)
256
218
  ![ft](http://www.fortestecnologia.com.br/templates/fortesinfo/images/grupo-fortes.png)
257
-
258
- [siteiesde]:<http://www.iesde.com.br>