class ProxyTester::Actions::AddTestCase

Attributes

options[R]
remote_repository[R]
test_cases_directory[R]

Public Class Methods

new(remote_repository, test_cases_directory, options = {}) click to toggle source
# File lib/proxy_tester/actions/add_test_case.rb, line 12
def initialize(remote_repository, test_cases_directory, options = {})
  @remote_repository    = remote_repository
  @test_cases_directory = test_cases_directory
  @options              = options
end

Public Instance Methods

run() click to toggle source
# File lib/proxy_tester/actions/add_test_case.rb, line 18
def run
  FileUtils.rm_rf File.join(destination, '.git') if options[:force] == true

  if need_to_run?
    ProxyTester.ui_logger.warn "Add testcase repository \"#{remote_repository.source}\" as test directory \"#{File.join(test_cases_directory, remote_repository.base)}\"."
    GitRepository.clone(remote_repository.source, destination, bare: false)
  else
    ProxyTester.ui_logger.warn "Testcase directory \"#{destination}\" already exists. Do not create it again!"
  end
end

Private Instance Methods

destination() click to toggle source
# File lib/proxy_tester/actions/add_test_case.rb, line 31
def destination
  ::File.join(test_cases_directory, remote_repository.base)
end
need_to_run?() click to toggle source
# File lib/proxy_tester/actions/add_test_case.rb, line 35
def need_to_run?
  !::File.exists? File.join(destination, '.git')
end