Sha256: 177830a6aa42a8f4a9ee1f85cff96a187a09fb518ecb325c2b048265d868c5de

Contents?: true

Size: 993 Bytes

Versions: 2

Compression:

Stored size: 993 Bytes

Contents

# frozen_string_literal: true

require 'table_beet/formatters/base_formatter.rb'
require 'erb'

module TableBeet
  module Formatters
    class HTMLFormatter < BaseFormatter
      def flush
        # TODO: uh..
        Dir.mkdir directory unless File.exist?(directory)

        create_index
        create_metadata_dir
      end

      private

      def create_index
        erb = ERB.new(File.read(template_output))

        File.open(output, 'w') do |f|
          f.write erb.result(binding)
        end
      end

      def create_metadata_dir
        FileUtils.copy_entry(template_metadata_dir, directory)
      end

      def template_dir
        File.dirname(__FILE__) + '/html_template'
      end

      def template_output
        template_dir + '/index.erb'
      end

      def template_metadata_dir
        template_dir + '/data'
      end

      def output
        directory + '/index.html'
      end

      def metadata_dir
        directory + '/data'
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
table_beet2-0.0.5 lib/table_beet/formatters/html_formatter.rb
table_beet2-0.0.4 lib/table_beet/formatters/html_formatter.rb