iesde 1.1.1 → 2.0.0

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.
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>