Sha256: 48cee02f82085c358e1dab219f9ab7c22dc12e0d71b158cbf1ad30efbd68391e

Contents?: true

Size: 1021 Bytes

Versions: 14

Compression:

Stored size: 1021 Bytes

Contents

# frozen_string_literal: true

require "securerandom"
require "fileutils"
require "erb"
require "ostruct"

UNIQUE_FILES_DIR = "./test/unique_files"

def require_unique_file(file = "dog.rb", variables = {})
  uuid = SecureRandom.uuid
  dir = "#{UNIQUE_FILES_DIR}/#{uuid}"
  file_name = file.sub(".erb", "")
  temp_file = "#{dir}/#{file_name}"
  FileUtils.mkdir_p(Pathname.new(temp_file).dirname.to_s)
  file_contents = File.read("./test/#{file}")
  file_contents = ERB.new(file_contents).result(OpenStruct.new(variables).instance_eval { binding }) if variables.any?
  File.open(temp_file, "w") { |w| w.write(file_contents) }
  require temp_file
  Coverband::Utils::RelativeFileConverter.convert(File.expand_path(temp_file))
end

@@dogs = 0
def require_class_unique_file
  @@dogs += 1
  require_unique_file("dog.rb.erb", dog_number: @@dogs)
end

def remove_unique_files
  FileUtils.rm_r(UNIQUE_FILES_DIR) if File.exist?(UNIQUE_FILES_DIR)
end

if defined?(Minitest)
  Minitest.after_run do
    remove_unique_files
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
coverband-5.1.0 test/unique_files.rb
coverband-5.1.0.rcmailer.2 test/unique_files.rb
coverband-5.1.0.rcmailer.1 test/unique_files.rb
coverband-5.0.3 test/unique_files.rb
coverband-5.0.2 test/unique_files.rb
coverband-5.0.1 test/unique_files.rb
coverband-5.0.1.rc.1 test/unique_files.rb
coverband-5.0.0 test/unique_files.rb
coverband-5.0.0.rc.8 test/unique_files.rb
coverband-5.0.0.rc.7 test/unique_files.rb
coverband-5.0.0.rc.6 test/unique_files.rb
coverband-5.0.0.rc.5 test/unique_files.rb
coverband-5.0.0.rc.4 test/unique_files.rb
coverband-5.0.0.rc.3 test/unique_files.rb