Class: Limarka::Trabalho
- Inherits:
-
Object
- Object
- Limarka::Trabalho
- Defined in:
- lib/limarka/trabalho.rb
Instance Attribute Summary collapse
-
#anexos ⇒ Object
Returns the value of attribute anexos.
-
#apendices ⇒ Object
Returns the value of attribute apendices.
-
#configuracao ⇒ Object
Todas as chaves de configuração devem ser string (e não utilizar simbolos!).
-
#errata ⇒ Object
Returns the value of attribute errata.
-
#referencias ⇒ Object
readonly
Returns the value of attribute referencias.
-
#texto ⇒ Object
Returns the value of attribute texto.
Class Method Summary collapse
- .default_anexos_file ⇒ Object
- .default_apendices_file ⇒ Object
- .default_configuracao_file ⇒ Object
- .default_errata_file ⇒ Object
- .default_referencias_bib_file ⇒ Object
- .default_texto_file ⇒ Object
- .save_yaml(hash, caminho) ⇒ Object
Instance Method Summary collapse
- #anexos? ⇒ Boolean
- #apendices? ⇒ Boolean
- #atualiza_de_arquivos(options) ⇒ Object
- #errata? ⇒ Boolean
-
#initialize(configuracao: {}, texto: nil, anexos: nil, apendices: nil, referencias_bib: nil, errata: nil) ⇒ Trabalho
constructor
A new instance of Trabalho.
- #ler_anexos ⇒ Object
- #ler_apendices ⇒ Object
- #ler_configuracao(options) ⇒ Object
- #ler_configuracao_pdf(file) ⇒ Object
- #ler_referencias(configuracao) ⇒ Object
- #ler_texto(rascunho_file) ⇒ Object
- #referencias_bib=(ref) ⇒ Object
- #referencias_bib? ⇒ Boolean
- #save(dir) ⇒ Object
Constructor Details
#initialize(configuracao: {}, texto: nil, anexos: nil, apendices: nil, referencias_bib: nil, errata: nil) ⇒ Trabalho
Returns a new instance of Trabalho.
10 11 12 13 14 15 16 17 |
# File 'lib/limarka/trabalho.rb', line 10 def initialize(configuracao: {}, texto: nil, anexos: nil, apendices: nil, referencias_bib: nil, errata: nil) self.configuracao = configuracao self.texto = texto self.anexos = anexos self.apendices = apendices self.referencias_bib = referencias_bib self.errata = errata end |
Instance Attribute Details
#anexos ⇒ Object
Returns the value of attribute anexos.
7 8 9 |
# File 'lib/limarka/trabalho.rb', line 7 def anexos @anexos end |
#apendices ⇒ Object
Returns the value of attribute apendices.
7 8 9 |
# File 'lib/limarka/trabalho.rb', line 7 def apendices @apendices end |
#configuracao ⇒ Object
Todas as chaves de configuração devem ser string (e não utilizar simbolos!)
6 7 8 |
# File 'lib/limarka/trabalho.rb', line 6 def configuracao @configuracao end |
#errata ⇒ Object
Returns the value of attribute errata.
7 8 9 |
# File 'lib/limarka/trabalho.rb', line 7 def errata @errata end |
#referencias ⇒ Object (readonly)
Returns the value of attribute referencias.
8 9 10 |
# File 'lib/limarka/trabalho.rb', line 8 def referencias @referencias end |
#texto ⇒ Object
Returns the value of attribute texto.
7 8 9 |
# File 'lib/limarka/trabalho.rb', line 7 def texto @texto end |
Class Method Details
.default_anexos_file ⇒ Object
91 92 93 |
# File 'lib/limarka/trabalho.rb', line 91 def self.default_anexos_file "anexos.md" end |
.default_apendices_file ⇒ Object
94 95 96 |
# File 'lib/limarka/trabalho.rb', line 94 def self.default_apendices_file "apendices.md" end |
.default_configuracao_file ⇒ Object
102 103 104 |
# File 'lib/limarka/trabalho.rb', line 102 def self.default_configuracao_file 'configuracao.yaml' end |
.default_errata_file ⇒ Object
88 89 90 |
# File 'lib/limarka/trabalho.rb', line 88 def self.default_errata_file "errata.md" end |
.default_referencias_bib_file ⇒ Object
98 99 100 |
# File 'lib/limarka/trabalho.rb', line 98 def self.default_referencias_bib_file "referencias.bib" end |
.default_texto_file ⇒ Object
85 86 87 |
# File 'lib/limarka/trabalho.rb', line 85 def self.default_texto_file "trabalho-academico.md" end |
.save_yaml(hash, caminho) ⇒ Object
155 156 157 158 159 160 |
# File 'lib/limarka/trabalho.rb', line 155 def self.save_yaml(hash, caminho) File.open(caminho, 'w') do |f| f.write YAML.dump(hash) f.write "\n---\n" end end |
Instance Method Details
#anexos? ⇒ Boolean
42 43 44 |
# File 'lib/limarka/trabalho.rb', line 42 def anexos? @configuracao['anexos'] end |
#apendices? ⇒ Boolean
69 70 71 |
# File 'lib/limarka/trabalho.rb', line 69 def apendices? @configuracao['apendices'] end |
#atualiza_de_arquivos(options) ⇒ Object
106 107 108 109 110 111 112 113 114 115 |
# File 'lib/limarka/trabalho.rb', line 106 def atualiza_de_arquivos() self.configuracao = ler_configuracao() puts "Configuração lida: #{configuracao}" if [:verbose] # transforma os simbolos em string: http://stackoverflow.com/questions/8379596/how-do-i-convert-a-ruby-hash-so-that-all-of-its-keys-are-symbols?noredirect=1&lq=1 # @configuracao.inject({}){|h,(k,v)| h[k.intern] = v; h} self.texto = ler_texto([:rascunho_file]) self.referencias_bib = ler_referencias(self.configuracao) self.apendices = ler_apendices if apendices? self.anexos = ler_anexos if anexos? end |
#errata? ⇒ Boolean
46 47 48 |
# File 'lib/limarka/trabalho.rb', line 46 def errata? @configuracao['errata'] end |
#ler_anexos ⇒ Object
138 139 140 |
# File 'lib/limarka/trabalho.rb', line 138 def ler_anexos File.open('anexos.md', 'r') {|f| f.read} if anexos? end |
#ler_apendices ⇒ Object
134 135 136 |
# File 'lib/limarka/trabalho.rb', line 134 def ler_apendices File.open('apendices.md', 'r') {|f| f.read} if apendices? end |
#ler_configuracao(options) ⇒ Object
117 118 119 120 121 122 123 124 125 |
# File 'lib/limarka/trabalho.rb', line 117 def ler_configuracao() if and [:configuracao_yaml] then raise IOError, "Arquivo configuracao.yaml não foi encontrado, talvez esteja executando dentro de um diretório que não contém um projeto válido?" unless File.exist?('configuracao.yaml') File.open('configuracao.yaml', 'r') {|f| YAML.load(f.read)} else raise IOError, "Arquivo configuracao.pdf não foi encontrado, talvez esteja executando dentro de um diretório que não contém um projeto válido?" unless File.exist?('configuracao.pdf') ler_configuracao_pdf 'configuracao.pdf' end end |
#ler_configuracao_pdf(file) ⇒ Object
127 128 129 130 131 132 |
# File 'lib/limarka/trabalho.rb', line 127 def ler_configuracao_pdf(file) raise IOError, 'Arquivo não encontrado: ' + file unless File.exist? (file) pdf = PdfForms::Pdf.new file, (PdfForms.new 'pdftk'), utf8_fields: true pdfconf = Limarka::Pdfconf.new(pdf: pdf) pdfconf.exporta end |
#ler_referencias(configuracao) ⇒ Object
150 151 152 153 |
# File 'lib/limarka/trabalho.rb', line 150 def ler_referencias(configuracao) arquivo_de_referencias = configuracao['referencias_caminho'] File.open(arquivo_de_referencias, 'r') {|f| f.read} end |
#ler_texto(rascunho_file) ⇒ Object
142 143 144 145 146 147 148 |
# File 'lib/limarka/trabalho.rb', line 142 def ler_texto(rascunho_file) if (rascunho_file) then File.open(rascunho_file, 'r') {|f| f.read} else File.open('trabalho-academico.md', 'r') {|f| f.read} end end |
#referencias_bib=(ref) ⇒ Object
81 82 83 |
# File 'lib/limarka/trabalho.rb', line 81 def referencias_bib=(ref) @referencias = ref end |
#referencias_bib? ⇒ Boolean
77 78 79 |
# File 'lib/limarka/trabalho.rb', line 77 def referencias_bib? @referencias end |
#save(dir) ⇒ Object
162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/limarka/trabalho.rb', line 162 def save(dir) Dir.chdir(dir) do File.open(Trabalho.default_texto_file, 'w'){|f| f.write texto} if texto File.open(configuracao['referencias_caminho'], 'w'){|f| f.write referencias} if referencias_bib? File.open(Trabalho.default_anexos_file, 'w'){|f| f.write anexos} if anexos? File.open(Trabalho.default_apendices_file, 'w'){|f| f.write apendices} if apendices? File.open(Trabalho.default_errata_file, 'w'){|f| f.write errata} if errata? Limarka::Trabalho.save_yaml(configuracao, Trabalho.default_configuracao_file) end end |