Iesde

Interface para acesso ao WebService do IESDE para sistemas Rails. Não se trata de uma ferramenta oficial pois foi desenvolvida por necessidade dos nossos desenvolvedores. Sintam-se livres para contribuir.

Versão

2.0.1 - Seguindo a nova documentação WebService REST. Caso esteja usando o antigo WebService SOAP utilize a documentação da versão 1.1.1

Instalação

gem install iesde -v 2.0.1

Ou no seu Gemfile

gem 'iesde', '~> 2.0.1'

Default Configs

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.

Você pode configurar num initializer esses parâmetros:

# config/initializers/iesde.rb

Iesde.configure do |c|
  c.user        = "1234567890123456"
  c.password    = "1234567890123456"
  c.ead_api_key = "1234567890123456"
end

Listagem de Disciplinas

Retorna um array de Iesde::Model::Disciplina

disciplinas = Iesde::Model::Disciplina.buscar
=> [#<Iesde::Model::Disciplina>, #<Iesde::Model::Disciplina>, #<Iesde::Model

::Disciplina>, ...]

disciplina = disciplinas.first

disciplina.curso_id
=> "123456"

disciplina.computed
=> "ELABORAÇÃO DE ROTEIROS E PACOTES"

Listagem de Matrículas

Retorna um array de Iesde::Model::Matricula

Matriculas = Iesde::Model::Matricula.buscar
=> [#<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, #<Iesde::Model::Matricula>, ...]

matricula = matriculas.first

matricula.matricula_id
=> "123456"

matricula.aluno
=> "Fulano da Silva"

matricula.situacao
=> "A"

Criar uma Matrícula

Retorna a Iesde::Model::Matricula criada quando parâmetros enviados corretamente.

params = {
  'CursoID'     => 123456 ,
  'PoloID'      => 123,
  'Nome'        => 'Aluno da Silva',
  'CPF'         => '12345678900',
  'Email'       => '[email protected]',
  'RG'          => '2003000152000',
  'OrgaoRG'     => 'ABC',
  'UFRG'        => 'CE',
  'CEP'         => '60120-140',
  'Endereco'    => 'Rua dos Anzois Pereira',
  'Bairro'      => 'Bairroso',
  'Numero'      => 123,
  'Compl'       => 'Bloco Z apto 500',
  'Telefone'    => '8588889999',
  'Celular'     => '8599999999',
  'DtNascto'    => '06/01/1966',
  'EstadoCivil' => 1,
  'Sexo'        => 'M'
}

matricula = Iesde::Model::Matricula.criar(params)
=> #<Iesde::Model::Matricula>

Se não, uma Iesde::Error::WSError é lançada com a mensagem do erro.

Iesde::Model::Matricula.criar(parametros)
=> CPF inválido! (Iesde::Error::WSError)

Iesde::Model::Matricula.criar(parametros2)
=> Erro: Encontramos o CPF ( 12345678900 ) para o E-MAIL ( [email protected] ) (Iesde::Error::WSError)

Iesde::Model::Matricula.criar(parametros)
=> Curso é um campo obrigatório! (Iesde::Error::WSError)

Nem todos os parâmetros são obrigatórios. Você pode utilizar o método:

criar_com_campos_obrigatorios(id_curso, nome, cpf, email, cep, numero_casa)

que retorna matrícula

  matricula = Iesde::Model::Matricula.criar_com_campos_obrigatorios(123456, 'Fulan Da Silva', '12345678900', '[email protected]','60120-140', 123)
  => #<Iesde::Model::Matricula>

Você pode ativar ou desativar uma matrícula através dos métodos

  matricula = matricula.ativar!
  => #<Iesde::Model::Matricula>

  matricula.situacao
  => "A"

  matricula = matricula.inativar!
  => #<Iesde::Model::Matricula>

  matricula.situacao
  => "I"

Listagem de Aulas

Retorna um array de Iesde::Model::Aula para a matrícula cujo id é passado como parâmetro.

# Pega uma disciplina

disciplina = Iesde::Model::Disciplina.buscar.first
=> #<Iesde::Model::Disciplina>

# Lista suas aulas

disciplina.aulas(matricula.matricula_id)
=> [#<Iesde::Model::Aula>, #<Iesde::Model::Aula>, #<Iesde::Model::Aula>, ...]

Recebe o id da matricula e retorna o link para o download do PDF

# Pega uma disciplina

disciplina = Iesde::Model::Disciplina.buscar.first
=> #<Iesde::Model::Disciplina>

# obtem link do pdf

disciplina.pdf(matricula.matricula_id)
=> "https:://linkparao.pdf"

Retorna o link para o video da aula

# Pega uma disciplina

disciplina = Iesde::Model::Disciplina.buscar.first
=> #<Iesde::Model::Disciplina>

# Pega uma aula
aula = disciplina.aulas.first

# obtem link do video

aula.link_video
=> "https:://linkparaovideo.mp4"

Passando chaves de acesso dinamicamente

Todas as funções do sistema permitem que sejam passadas as chaves de acesso de forma dinâmica limitando-se àquela ação.

Ex:

aulas = Iesde::Model::Aula.buscar({
    'MatriculaID'  => 12345,
    'DisciplinaID' => 123,
    config: {
      user:         ENV['IESDE_USER'],
      password:     ENV['IESDE_PWD'],
      ead_api_key:  ENV['EAD_API_KEY']
    }
  })

Exemplos

Você pode ver exemplos de utilização da gem na pasta examples.

Licença

MIT Licence. Copyright (c) 2017 Elore Tecnologia. http://www.elore.com.br

el ft