Class: Limarka::Pdfconf

Inherits:
Object
  • Object
show all
Defined in:
lib/limarka/pdfconf.rb

Overview

Essa classe é responsável por ler os valores salvos em um formulário PDF e gerar um hash compatível com configuração de um Trabalho.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pdf: nil) ⇒ Pdfconf

Returns a new instance of Pdfconf.

Parameters:

  • pdf (PdfForms::Pdf) (defaults to: nil)


20
21
22
# File 'lib/limarka/pdfconf.rb', line 20

def initialize(pdf: nil)
  @pdf = pdf
end

Instance Attribute Details

#pdfPdfForms::Pdf (readonly)

Returns:

  • (PdfForms::Pdf)


17
18
19
# File 'lib/limarka/pdfconf.rb', line 17

def pdf
  @pdf
end

Instance Method Details

#exporta(valida = true) ⇒ Hash

Exporta um hash que será utilizado como configuração.

Returns:

  • (Hash)

    que é utilizado como configuração

See Also:

  • Limarka::Pdfconf.{Trabalho{Trabalho#configuracao}


39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/limarka/pdfconf.rb', line 39

def exporta(valida=true)
  h = {}
  h.merge! caixas_de_texto
  h.merge! nivel_educacao
  h.merge! ficha_catalografica
  h.merge! folha_de_aprovacao
  h.merge! projeto
  h.merge! apendices
  h.merge! anexos
  h.merge! errata
  h.merge! referencias
  h.merge! lista_ilustracoes
  h.merge! lista_quadros
  h.merge! lista_tabelas
  h.merge! lista_siglas

  
  # TODO: converter para chaves?
  valida_campos(h) if valida
  h
end

#ler_campo(campo) ⇒ Object

Ler valor do campo. Converte o final de linha para utilizar ‘universal_newline`.



30
31
32
33
34
# File 'lib/limarka/pdfconf.rb', line 30

def ler_campo(campo)
  value = pdf.field(campo).value
  value = value.encode(:universal_newline => true) if value
  value
end

#update(field, value) ⇒ Object

Atualiza um campo do formulário. Útil para execução de testes.



25
26
27
# File 'lib/limarka/pdfconf.rb', line 25

def update(field, value)
  pdf.field(field).instance_variable_set(:@value, value)
end