# frozen_string_literal: true require "thor" module Neetob class CLI < Thor require_relative "cli/heroku/commands" require_relative "cli/github/commands" require_relative "cli/users/commands" require_relative "cli/fetchorupdate_repos/execute" require_relative "cli/local/commands" class_option :sandbox, { type: :boolean, default: false, desc: "All the commands in sandbox mode will run only on the \"neeto-dummy\" app." } def self.start(*) super end desc "heroku", "Interact with any resource in Heroku" subcommand "heroku", Heroku::Commands desc "github", "Interact with any resource in Github" subcommand "github", Github::Commands desc "users", "Interact with the contributors of neeto apps" subcommand "users", Users::Commands desc "local", "Interact with the local neeto repos" subcommand "local", Local::Commands desc "make_repos_uptodate", "Uptodate all neeto repos" option :all_neeto_repos, type: :boolean, aliases: "--all", desc: "Use this flag for working with all neeto repos", default: false def make_repos_uptodate FetchorupdateRepos::Execute.new(options[:sandbox], options[:all_neeto_repos]).run end end end