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

Included in:
DslCompiler
Defined in:
lib/tapioca/helpers/test/content.rb

Overview

@requires_ancestor: Kernel

Instance Method Summary collapse

Instance Method Details

#add_content_file(name, content) ⇒ Object

: (String name, String content) -> String

Raises:

  • (ArgumentError)


35
36
37
38
39
40
41
42
# File 'lib/tapioca/helpers/test/content.rb', line 35

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

: (String name, String content, ?require_file: bool) -> String



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

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

#remove_tmp_pathObject

: -> void



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

def remove_tmp_path
  FileUtils.rm_rf(tmp_path)
end

#teardownObject

: -> void



10
11
12
13
# File 'lib/tapioca/helpers/test/content.rb', line 10

def teardown
  super
  remove_tmp_path
end

#tmp_path(*args) ⇒ Object

: (*String args) -> String



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

def tmp_path(*args)
  @tmp_path = @tmp_path #: String?
  @tmp_path ||= Dir.mktmpdir
  T.unsafe(File).join(@tmp_path, *args)
end