Module: Lolcommits::TestHelpers::GitRepo

Defined in:
lib/lolcommits/test_helpers/git_repo.rb

Instance Method Summary collapse

Instance Method Details

#commit_repo_with_message(message = 'test message', file_name: 'test.txt', file_content: 'testing') ⇒ Object



25
26
27
28
29
30
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 25

def commit_repo_with_message(message = 'test message', file_name: 'test.txt', file_content: 'testing')
  setup_repo unless repo_exists?
  `echo '#{file_content}' >> #{repo_path}/#{file_name}`
  `cd #{repo_path} && git add #{file_name}`
  `cd #{repo_path} && git commit -m "#{message}"`
end

#in_repoObject



32
33
34
35
36
37
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 32

def in_repo
  return unless repo_exists?
  Dir.chdir(File.expand_path(repo_path)) do
    yield
  end
end

#last_commitObject



16
17
18
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 16

def last_commit
  repo.log.first
end

#repoObject



4
5
6
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 4

def repo
  @repo ||= Git.open(repo_path)
end

#repo_exists?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 12

def repo_exists?
  File.directory?(File.expand_path(repo_path, '.git'))
end

#repo_pathObject



8
9
10
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 8

def repo_path
  '~/.lolcommits/sample-plugin-test-repo'
end

#setup_repoObject



20
21
22
23
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 20

def setup_repo
  return if repo_exists?
  `git init --quiet #{repo_path}`
end

#teardown_repoObject



39
40
41
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 39

def teardown_repo
  `rm -rf #{repo_path}`
end