Sha256: 194ff3508a3a362fa66f648c0a816253e0f9e1a97bc55c0a7e90614c80029f9f

Contents?: true

Size: 813 Bytes

Versions: 5

Compression:

Stored size: 813 Bytes

Contents

class Terraspace::CLI::New
  class GitHook < Thor::Group
    include Thor::Actions

    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
    cli_options.each { |args| class_option(*args) }

    def self.source_root
      File.expand_path("../../../templates/base/git_hook", __dir__)
    end

    def create
      return unless File.exist?(".git")
      dest = ".git/hooks/#{options[:type]}"
      template "hook.sh", dest
      chmod dest, 0755
    end

  private
    def terraspace_build_commands
      code = []
      @options[:envs].each do |env|
        code << %Q|TS_ENV=#{env} terraspace build placeholder|
      end
      code.join("\n")
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
terraspace-0.2.4 lib/terraspace/cli/new/git_hook.rb
terraspace-0.2.3 lib/terraspace/cli/new/git_hook.rb
terraspace-0.2.2 lib/terraspace/cli/new/git_hook.rb
terraspace-0.2.1 lib/terraspace/cli/new/git_hook.rb
terraspace-0.2.0 lib/terraspace/cli/new/git_hook.rb