require "thor" module Boty class CLI < Thor include Thor::Actions class_option :verbose, type: :boolean, default: true, aliases: "-v" attr_reader :bot_name, :company, :api_key source_root File.expand_path("../../../template", __FILE__) desc "new [BOT_NAME]", "Creates a BOT_NAME dir with your new bot structure." def new(bot_name) @bot_name = bot_name acquire_bot_info directory "project", bot_name, verbose: verbose after_create end private def verbose options[:verbose] end def acquire_bot_info @company = ask("What is your Slack company name?") || "acme" @api_key = ask("What is the #{@bot_name} api key?") || "omg-lol-bbq" end def after_create inside @bot_name do # for some reason the example .rspec isn't been copied create_file ".rspec", "--require=spec_helper" run "chmod +x bot" run "bundle install" end end end end