class Pufferfish::Builder

Builder

Public Class Methods

new(fn) click to toggle source
# File lib/pufferfish.rb, line 47
def initialize(fn)
    builder_info = PufferfishBuilderInfo.new
    answer = fn.call(builder_info)
    build(builder_info)
end

Public Instance Methods

build(info) click to toggle source
# File lib/pufferfish.rb, line 53
def build(info)
    Dir.glob("#{info.html_dir}/**/*") do |filename|
        if info.verbose
            STDERR.puts "compiling #{filename}..."
        end
        # TODO: replace with ruby calls
        system "puf #{filename} #{info.output_dir}/#{filename.gsub(/\A\/?.*\//, "")} -d #{info.template_dir}" + (info.pretty ? " -p" : "")
        if info.minify
            file_content = `html-minifier #{info.output_dir}/#{filename.gsub(/\A\/?.*\//, "")} #{info.minify_flags}`
            File.write("#{info.output_dir}/#{filename.gsub(/\A\/?.*\//, "")}", file_content)
        end
    end
end