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



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

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_repo(&block) ⇒ Object



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

def in_repo(&block)
  return unless repo_exists?

  Dir.chdir(File.expand_path(repo_path)) do
    yield block
  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
  "/tmp/lolcommits-plugin-test-repo"
end

#setup_repoObject



20
21
22
23
24
# 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



41
42
43
# File 'lib/lolcommits/test_helpers/git_repo.rb', line 41

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