class Terraspace::CLI::New::GitHook

Public Class Methods

cli_options() click to toggle source
# File lib/terraspace/cli/new/git_hook.rb, line 5
def self.cli_options
  [
    [:envs, type: :array, default: %w[dev prod], desc: "envs to build"],
    [:type, aliases: %w[t], default: "pre-push", desc: "git hook type"],
  ]
end
source_root() click to toggle source
# File lib/terraspace/cli/new/git_hook.rb, line 13
def self.source_root
  File.expand_path("../../../templates/base/git_hook", __dir__)
end

Public Instance Methods

create() click to toggle source
# File lib/terraspace/cli/new/git_hook.rb, line 17
def create
  unless File.exist?(".git")
    puts "No .git folder found. Not creating git hook."
    return
  end
  dest = ".git/hooks/#{options[:type]}"
  template "hook.sh", dest
  chmod dest, 0755
end

Private Instance Methods

terraspace_build_commands() click to toggle source
# File lib/terraspace/cli/new/git_hook.rb, line 28
def terraspace_build_commands
  code = []
  @options[:envs].each do |env|
    code << %Q|TS_ENV=#{env} terraspace build|
  end
  code.join("\n")
end