Sha256: eefa188c174053368bfe21d6f8fed502c3fe50194b6a035beb4eeb6a123f47ff

Contents?: true

Size: 1.37 KB

Versions: 4

Compression:

Stored size: 1.37 KB

Contents

require 'erb'
module OpenStudioMeasureTester
  class Dashboard
    attr_reader :html

    # @param base_dir [String]: The directory from where the rake test was instantiated
    def initialize(base_dir)
      @base_dir = base_dir

      erb_file = File.expand_path('templates/dashboard.html.erb', File.dirname(__FILE__))
      @template = File.read(erb_file)
      file = File.read("#{base_dir}/test_results/combined_results.json")
      @data = file
      @hash = JSON.parse(@data)
    end

    def render
      rendered = ERB.new(@template, 0, '', '@html').result(binding)
      save_dir = "#{@base_dir}/test_results/dashboard"

      # Render the dashboard
      FileUtils.mkdir_p save_dir unless Dir.exist? save_dir
      File.open("#{save_dir}/index.html", 'w') { |file| file.write(rendered) }
      # copy over all the resource files to display the website correctly.
      resource_path = File.expand_path('../../dashboard', File.dirname(__FILE__))
      # KAF: for some reason, not overwriting the files.  delete them from destination first
      FileUtils.remove_dir("#{save_dir}/css") if Dir.exist?"#{save_dir}/css"
      FileUtils.remove_dir("#{save_dir}/js") if Dir.exist? "#{save_dir}/js"
      FileUtils.cp_r("#{resource_path}/css", "#{save_dir}/css", remove_destination: true)
      FileUtils.cp_r("#{resource_path}/js", "#{save_dir}/js", remove_destination: true)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
openstudio_measure_tester-0.1.4 lib/openstudio_measure_tester/dashboard.rb
openstudio_measure_tester-0.1.3 lib/openstudio_measure_tester/dashboard.rb
openstudio_measure_tester-0.1.2 lib/openstudio_measure_tester/dashboard.rb
openstudio_measure_tester-0.1.1 lib/openstudio_measure_tester/dashboard.rb