Class: Limarka::Pdfconf
- Inherits:
-
Object
- Object
- Limarka::Pdfconf
- 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
- #pdf ⇒ PdfForms::Pdf readonly
Instance Method Summary collapse
-
#exporta(valida = true) ⇒ Hash
Exporta um hash que será utilizado como configuração.
-
#initialize(pdf: nil) ⇒ Pdfconf
constructor
A new instance of Pdfconf.
-
#ler_campo(campo) ⇒ Object
Ler valor do campo.
-
#update(field, value) ⇒ Object
Atualiza um campo do formulário.
Constructor Details
#initialize(pdf: nil) ⇒ Pdfconf
20 21 22 |
# File 'lib/limarka/pdfconf.rb', line 20 def initialize(pdf: nil) @pdf = pdf end |
Instance Attribute Details
#pdf ⇒ PdfForms::Pdf (readonly)
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.
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 |