Sha256: 31789149af12ba3c9d49cb5049d4fa28c77d4c7c22cfd8c0a6e5f1df8261c69b
Contents?: true
Size: 1.37 KB
Versions: 15
Compression:
Stored size: 1.37 KB
Contents
require 'pact/provider/help/content' require 'fileutils' require 'pact/consumer/configuration' module Pact module Provider module Help class Write HELP_FILE_NAME = 'help.md' def self.call pact_sources, reports_dir = Pact.configuration.reports_dir new(pact_sources, reports_dir).call end def initialize pact_sources, reports_dir @pact_sources = pact_sources @reports_dir = File.expand_path(reports_dir) end def call clean_reports_dir write rescue StandardError => e Pact.configuration.error_stream.puts("ERROR: Error generating help output - #{e.class} #{e.message} \n" + e.backtrace.join("\n")) end private attr_reader :reports_dir, :pact_sources def clean_reports_dir raise "Cleaning report dir #{reports_dir} would delete project!" if reports_dir_contains_pwd FileUtils.rm_rf reports_dir FileUtils.mkdir_p reports_dir end def reports_dir_contains_pwd Dir.pwd.start_with?(reports_dir) end def write File.open(help_path, "w") { |file| file << help_text } end def help_path File.join(reports_dir, 'help.md') end def help_text Content.new(pact_sources).text end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems