Class: DocPdf
- Inherits:
-
Object
- Object
- DocPdf
- Defined in:
- lib/doc_2_pdf/doc_pdf.rb
Class Method Summary collapse
Class Method Details
.configure(**opts) ⇒ Object
2 3 4 5 6 7 8 |
# File 'lib/doc_2_pdf/doc_pdf.rb', line 2 def self.configure **opts [:doc_dir, :pdf_dir].each do |required_opt| raise ArgumentError, "Missing required config option: :#{required_opt}" unless opts[required_opt] end @@doc_dir = File.join(opts[:doc_dir], '') # adds trailing '/' if it doesn't already have one @@pdf_dir = File.join(opts[:pdf_dir], '') # adds trailing '/' if it doesn't already have one end |
.convert! ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/doc_2_pdf/doc_pdf.rb', line 10 def self.convert! Dir.glob(File.join(@@doc_dir, '**', '*.{doc,docx}')) do |doc| pdf_filename = File.basename(doc, '.*')+'.pdf' relative_path = File.dirname doc.gsub(@@doc_dir, '') relative_pdf_path = relative_path == '.' ? pdf_filename : File.join(relative_path, pdf_filename) pdf_path = File.join @@pdf_dir, relative_pdf_path FileUtils.mkdir_p File.dirname(pdf_path) Libreconv.convert doc, pdf_path yield(relative_pdf_path) if block_given? end end |