Class: RSpec::Scaffold::FileWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/scaffold/file_writer.rb

Instance Method Summary collapse

Constructor Details

#initialize(output_file, output_text) ⇒ FileWriter

manages outputting test scaffolds to file.



6
7
8
9
# File 'lib/rspec/scaffold/file_writer.rb', line 6

def initialize(output_file, output_text)
  @output_file = Pathname(output_file)
  @output_text = output_text
end

Instance Method Details

#write!Object

RSpec::Scaffold::FileWriter.new(“/path/to/file.rb”, “yay, test scaffold!”)



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rspec/scaffold/file_writer.rb', line 12

def write!
  # 1. skip if file already exists.
  if output_file_already_exists?
    RSpec::Scaffold.log("- #{@output_file} - already exists", :puts)
    return
  end

  # 2. ensure parent directories exist
  FileUtils.makedirs(@output_file.parent)

  # 3. write to file
  File.open(@output_file, 'wb') do |f| # 'wb' originally
    f << @output_text
  end

  RSpec::Scaffold.log("+ #{@output_file}")

  return @output_file.to_s
end