Sha256: d667286684737744511f288b65b4e0914a71618c82b250c7e660bb923652b239
Contents?: true
Size: 1.6 KB
Versions: 1
Compression:
Stored size: 1.6 KB
Contents
# frozen_string_literal: true module DeepCover require_relative 'base' require_relative 'index' require_relative 'source' module Reporter::HTML class Site < Reporter::Base include Memoize memoize :analysis def path Pathname(options[:output]) end def save clear save_assets save_index save_pages end def clear path.mkpath path.rmtree path.mkpath end def compile_stylesheet(source, dest) Bundler.with_clean_env do `sass #{source} #{dest}` end end def render_index Tools.render_template(:index, Index.new(self)) end def save_index path.join('index.html').write(render_index) end def save_assets require 'fileutils' src = "#{__dir__}/template/assets" dest = path.join('assets') FileUtils.cp_r(src, dest) compile_stylesheet "#{src}/deep_cover.css.sass", dest.join('deep_cover.css') dest.join('deep_cover.css.sass').delete end def render_source(partial_path, covered_code) Tools.render_template(:source, Source.new(analysis.analyser_map.fetch(covered_code), partial_path)) end def save_pages each do |partial_path, covered_code| dest = path.join("#{partial_path}.html") dest.dirname.mkpath dest.write(render_source(partial_path, covered_code)) end end def self.save(coverage, output:, **options) Site.new(coverage, output: output, **options).save end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
deep-cover-0.5.3 | lib/deep_cover/reporter/html/site.rb |