lib/renuo/cli.rb in renuo-cli-1.4.4 vs lib/renuo/cli.rb in renuo-cli-1.5.0

- old
+ new

@@ -7,15 +7,17 @@ require 'renuo/cli/app/list_large_git_files' require 'renuo/cli/app/generate_password' require 'renuo/cli/app/upgrade_laptop.rb' require 'renuo/cli/app/create_aws_project' require 'renuo/cli/app/create_heroku_app' +require 'renuo/cli/app/configure_sentry' require 'renuo/cli/app/create_new_logins' require 'renuo/cli/app/release_project.rb' require 'renuo/cli/app/fetch_emails.rb' require 'renuo/cli/app/heroku_users.rb' require 'renuo/cli/app/setup_uptimerobot' +require 'renuo/cli/app/release_xing' module Renuo class CLI def start require 'commander/import' @@ -131,30 +133,40 @@ c.summary = 'Release a projects state of develop (on github) to master in one command.' c.description = 'Creates a new release version of a project on master as either a Major, Minor, '\ 'Patch or Custom release based on the current state of develop on Github' c.example 'renuo release my-project minor', 'release a minor release of my-project' c.example 'renuo release my-project custom 2.5.0', 'release my-project as release 2.5.0' - c.action do|args| + c.action do |args| ReleaseProject.new.run(args) end end command 'create-heroku-app' do |c| c.syntax = 'renuo create-heroku-app' c.summary = 'Generates the script necessary to setup an application on Heroku.' c.description = 'Generates the script necessary to setup an application on Heroku.' c.example 'renuo create-heroku-app hello', 'generates the command to create hello on Heroku' - c.action do|args| + c.action do |args| CreateHerokuApp.new.run(args) end end + command 'configure-sentry' do |c| + c.syntax = 'renuo configure-sentry [project-name] [SENTRY_DSN]' + c.summary = 'Generates the script necessary to setup sentry on Heroku.' + c.description = c.summary + c.example 'renuo configure-sentry myproject https://randomkey@sentry.io/11223344', 'generates the command to configure sentry for myproject on Heroku' + c.action do|args| + ConfigureSentry.new.run(args) + end + end + command 'fetch-emails' do |c| c.syntax = 'renuo fetch-emails' c.summary = 'Retrieves all renuo employees email addresses' c.description = 'Retrieves all renuo employees email addresses. One per line.' - c.action do|args| + c.action do |args| FetchEmails.new.run(args) end end command 'heroku-users' do |c| @@ -163,11 +175,11 @@ c.description = 'Useful when a new person is hired or a person quits.' c.example 'renuo heroku-users add alessandro.rodi@renuo.ch', 'Adds the user alessandro.rodi@renuo.ch to all the Heroku projects' c.example 'renuo heroku-users remove alessandro.rodi@renuo.ch', 'Removes the user alessandro.rodi@renuo.ch from all the Heroku projects' - c.action do|args| + c.action do |args| HerokuUsers.new.run(args) end end command 'setup-uptimerobot' do |c| @@ -175,11 +187,21 @@ c.summary = 'Sets up uptimerobot for the given project' c.description = "The uptimerobot configuration is mandatory for most projects. "\ "This command sets everything up and pauses the monitoring directly. Once the app is ready,"\ " the monitoring should get started." c.example 'renuo setup-uptimerobot https://redmine.ch', 'Configures redmine monitoring on uptimerobot' - c.action do|args| + c.action do |args| SetupUptimerobot.new(args).run + end + end + + command 'release-xing' do |c| + c.syntax = 'renuo release-xing' + c.summary = 'Release Xing to preview.' + c.description = "Xing needs to be released manually. "\ + "You need a VPN connection open before runnign this command." + c.action do |args| + ReleaseXing.new.run end end end end end