class Jirify::Subcommands::Setup

Public Instance Methods

bash_completion() click to toggle source
# File lib/jirify/cli/setup.rb, line 53
def bash_completion
  say "Updating #{Config.config_folder}/jirify.bash_completion.sh ...".blue
  Config.copy_bash_completion!

  say 'Done! You have to source the file again or open a new shell! :)'.green
end
init() click to toggle source
# File lib/jirify/cli/setup.rb, line 7
def init
  say 'Welcome! This will guide you through the configuration of the jirify CLI tool.'

  if Config.initialized?
    exit(0) unless yes? 'You seem to have already configured jirify. ' \
      'Do you want to continue and overwrite the current configuration? [Y/n]:'.yellow
  end

  username      = ask 'Enter username:'
  token         = ask 'Enter token (generate from https://id.atlassian.com):'
  site          = ask 'Enter JIRA url:'
  project       = ask 'Enter a comma-separated list of JIRA Project keys to filter by every time (1 required):'
  filter_labels = ask 'Enter a comma-separated list of labels to filter by every time (optional):'

  labels = filter_labels.split ', ' if filter_labels
  projects = project.split ', ' if project

  if projects.nil? or projects.empty?
    say "You must enter at least one project key!".red
    exit(0)
  end

  options = {
    'options' => {
      'username' => username,
      'token'    => token,
      'site'     => site,
      'projects'  => projects
    }
  }

  options['options']['filter_by_labels'] = labels unless labels.empty?

  Config.write(options)

  say 'Done!'.green
  say "If you want to enable bash completion, source #{Config.config_folder}/jirify.bash_completion.sh"
end
projects() click to toggle source
# File lib/jirify/cli/setup.rb, line 62
def projects
  if options[:set].nil? || options[:set].empty?
    say 'Pass a list of projects to set with -s. Run "jira setup help projects" for more information.'.red
    exit(0)
  end

  Config.projects = options[:set]
end
verbose() click to toggle source
# File lib/jirify/cli/setup.rb, line 48
def verbose
  Config.verbose = options[:enable]
end