Module: Cheshirecat

Defined in:
lib/cheshirecat.rb,
lib/cheshirecat/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.deploy(source:, remote:, branch:, name:, email:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/cheshirecat.rb', line 7

def deploy(source:, remote:, branch:, name:, email:)
  Dir.mktmpdir do |working_directory|
    deploy_directory = File.join(working_directory, 'cheshirecat_deploy')

    FileUtils.cp_r(source, deploy_directory)

    repository = Git.init(deploy_directory)
    repository.add_remote('origin', remote)

    repository.config('user.name', name)
    repository.config('user.email', email)

    repository.add(all: true)
    repository.commit_all("Automated deploy commit by Cheshirecat #{Time.now}")

    repository.push('origin', 'master', force: true)
  end
end