# frozen_string_literal: true require "thor" module Groundskeeper # Bootstrap this as a Thor application. class Application < Thor attr_reader :commands class_option :simulate, desc: "Simulate mina" class_option :verbose, desc: "Run mina verbosely" def initialize(args = [], local_options = {}, config = {}) @commands = Commands.build(self) super end desc "info", "Display revision info" def info commands.info end desc "release", "create a new release" def release commands.info commands.release end desc "predeploy", "create configuration files for the project" def predeploy commands.info commands.predeploy options end desc "deploy", "deploy the latest release" def deploy commands.info commands.deploy options end end end