Class: Pretentious::FileWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/pretentious/utils/file_writer.rb

Overview

Utility function for saving pretentious test artifacts to a file.

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ FileWriter

options for the file writer



5
6
7
8
# File 'lib/pretentious/utils/file_writer.rb', line 5

def initialize(options = {})
  @spec_output_folder ||= (options[:spec_output_folder] || 'generated')
  @output_folder = options[:output_folder] || nil
end

Instance Method Details

#write(klass, result) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/pretentious/utils/file_writer.rb', line 10

def write(klass, result)
  output_folder = result[:generator].location(@output_folder)
  spec_output_folder = File.join(output_folder, @spec_output_folder)
  FileUtils.mkdir_p result[:generator].location(@output_folder)
  FileUtils.mkdir_p spec_output_folder
  result[:generator].helper(output_folder)
  filename = result[:generator].naming(spec_output_folder, klass)
  File.open(filename, 'w') { |f| f.write(result[:output]) }
  filename
end

#write_results(results) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/pretentious/utils/file_writer.rb', line 21

def write_results(results)
  results.each do |g, result_per_generator|
    puts "#{g}:"
    result_per_generator.each do |klass, result|
      puts write(klass, result)
    end if result_per_generator
  end
end