Module: Tapioca::Helpers::Test::Content

Extended by:
T::Helpers, T::Sig
Defined in:
lib/tapioca/helpers/test/content.rb

Instance Method Summary collapse

Instance Method Details

#add_content_file(name, content) ⇒ Object

Raises:

  • (ArgumentError)


41
42
43
44
45
46
47
# File 'lib/tapioca/helpers/test/content.rb', line 41

def add_content_file(name, content)
  file_name = tmp_path("lib/#{name}")
  raise ArgumentError, "a file named '#{name}' was already added; cannot overwrite." if File.exist?(file_name)
  FileUtils.mkdir_p(File.dirname(file_name))
  File.write(file_name, content)
  file_name
end

#add_ruby_file(name, content, require_file: true) ⇒ Object



34
35
36
37
38
# File 'lib/tapioca/helpers/test/content.rb', line 34

def add_ruby_file(name, content, require_file: true)
  add_content_file(name, content).tap do |file_name|
    Tapioca.silence_warnings { require(file_name) } if require_file
  end
end

#remove_tmp_pathObject



29
30
31
# File 'lib/tapioca/helpers/test/content.rb', line 29

def remove_tmp_path
  FileUtils.rm_rf(tmp_path)
end

#teardownObject



16
17
18
19
# File 'lib/tapioca/helpers/test/content.rb', line 16

def teardown
  super
  remove_tmp_path
end

#tmp_path(*args) ⇒ Object



22
23
24
25
26
# File 'lib/tapioca/helpers/test/content.rb', line 22

def tmp_path(*args)
  @tmp_path = T.let(@tmp_path, T.nilable(String))
  @tmp_path ||= Dir.mktmpdir
  T.unsafe(File).join(@tmp_path, *args)
end