module Fukuzatsu::Formatters::Base

Public Class Methods

included(klass) click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 7
def self.included(klass)
  klass.send(:attr_accessor, :summary)
  klass.send(:attr_accessor, :source)
  klass.send(:attr_accessor, :base_output_path)
  klass.extend(ClassMethods)
end
new(source: nil, summary:nil, base_output_path:) click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 14
def initialize(source: nil, summary:nil, base_output_path:)
  self.source = source
  self.summary = summary
  self.base_output_path = base_output_path
end

Public Instance Methods

export() click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 20
def export
  begin
    File.open(path_to_results, 'w') {|outfile| outfile.write(content)}
  rescue Exception => e
    puts "Unable to write output to #{path_to_results}: #{e} #{e.backtrace}"
  end
end
filename() click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 28
def filename
  File.basename(self.summary.source_file) + file_extension
end
output_directory() click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 32
def output_directory
  self.base_output_path + "/" + file_extension.gsub(".","")
end
output_path() click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 36
def output_path
  if self.summary
    output_path = output_directory + "/" + File.dirname(self.summary.source_file)
    FileUtils.mkpath(output_path)
  else
    output_path = File.dirname(output_directory)
  end
  output_path
end
path_to_results() click to toggle source
# File lib/fukuzatsu/formatters/base.rb, line 46
def path_to_results
  File.join(output_path, filename)
end