class JekyllPandocMultipleFormats::Unite

Constants

INCLUDE_TEMPLATE
TEMPLATE

Attributes

files[RW]
template[RW]

Public Class Methods

new(output_file, files) click to toggle source
# File lib/jekyll-pandoc-multiple-formats-jekyll34/unite.rb, line 39
def initialize(output_file, files)
  raise ArgumentError.new 'An array of filenames is required' unless files.is_a? Array

  @output_file = output_file
  self.files   = files

  render_template
  self
end

Public Instance Methods

<<(file) click to toggle source
# File lib/jekyll-pandoc-multiple-formats-jekyll34/unite.rb, line 49
def <<(file)
  @files ||= []
  @files << File.realpath(file) if /\.pdf\Z/ =~ file
end
files=(file_array) click to toggle source
# File lib/jekyll-pandoc-multiple-formats-jekyll34/unite.rb, line 54
def files=(file_array)
  return unless file_array.respond_to? :each

  file_array.each do |f|
    self << f
  end
end
render_template() click to toggle source
# File lib/jekyll-pandoc-multiple-formats-jekyll34/unite.rb, line 62
def render_template
  includes = @files.map do |f|
    INCLUDE_TEMPLATE.gsub(/@@document@@/, f)
  end

  @template = TEMPLATE.gsub('@@include@@', includes.join("\n"))
end