module GodObject::TemporaryDirectory::Helper

Public Class Methods

new(name_prefix: nil, base_directory: nil, temporary_directory_service: Service.new(name_prefix: name_prefix, base_directory: base_directory)) click to toggle source
# File lib/god_object/temporary_directory/helper.rb, line 24
def self.new(name_prefix: nil,
             base_directory: nil,
             temporary_directory_service: Service.new(name_prefix: name_prefix, base_directory: base_directory))

  mixin = Module.new do
    include Helper
  end

  mixin.send(:define_method, :temporary_directory_service) do
    temporary_directory_service
  end

  mixin
end

Public Instance Methods

ensure_absence_of_temporary_directory() click to toggle source
# File lib/god_object/temporary_directory/helper.rb, line 47
def ensure_absence_of_temporary_directory
  @temporary_directory.rmtree if @temporary_directory

  nil
end
ensure_presence_of_temporary_directory() click to toggle source
# File lib/god_object/temporary_directory/helper.rb, line 43
def ensure_presence_of_temporary_directory
  @temporary_directory ||= create_temporary_directory!
end
temporary_directory() click to toggle source
# File lib/god_object/temporary_directory/helper.rb, line 39
def temporary_directory
  ensure_presence_of_temporary_directory
end

Private Instance Methods

create_temporary_directory!() click to toggle source
# File lib/god_object/temporary_directory/helper.rb, line 55
def create_temporary_directory!
  temporary_directory_service.new
end
temporary_directory_service() click to toggle source
# File lib/god_object/temporary_directory/helper.rb, line 59
def temporary_directory_service
  @temporary_directory_service ||= Service.new
end