class Jirify::Config

Constants

CONFIG_FILE
CONFIG_FOLDER

Public Class Methods

always_verbose() click to toggle source
# File lib/jirify/config.rb, line 72
def always_verbose
  options['verbose']
end
atlassian_url() click to toggle source
# File lib/jirify/config.rb, line 76
def atlassian_url
  options['site']
end
client_options() click to toggle source
# File lib/jirify/config.rb, line 127
def client_options
  {
    username:     options['username'],
    password:     options['token'],
    site:         atlassian_url,
    context_path: '',
    auth_type:    :basic
  }
end
config_file() click to toggle source
# File lib/jirify/config.rb, line 15
def config_file
  initialize! unless initialized?
  @config_file ||= CONFIG_FILE
end
config_folder() click to toggle source
# File lib/jirify/config.rb, line 10
def config_folder
  initialize! unless initialized?
  @config_folder ||= CONFIG_FOLDER
end
copy_bash_completion!() click to toggle source
# File lib/jirify/config.rb, line 30
def copy_bash_completion!
  FileUtils.cp "#{File.expand_path('..', File.dirname(__dir__))}/jirify.bash_completion.sh", CONFIG_FOLDER
end
initialize!() click to toggle source
# File lib/jirify/config.rb, line 24
def initialize!
  FileUtils.mkdir_p CONFIG_FOLDER
  FileUtils.touch CONFIG_FILE
  copy_bash_completion!
end
initialized?() click to toggle source
# File lib/jirify/config.rb, line 20
def initialized?
  File.directory?(CONFIG_FOLDER) && File.exist?(CONFIG_FILE)
end
issue_browse_url() click to toggle source
# File lib/jirify/config.rb, line 88
def issue_browse_url
  "#{atlassian_url}/browse/"
end
options() click to toggle source
# File lib/jirify/config.rb, line 63
def options
  unless initialized?
    puts ColorizedString['ERROR: You must initialize Jirify first!'].white.on_red.bold
    exit(0)
  end

  @options ||= YAML.load_file(config_file)['options']
end
projects() click to toggle source
# File lib/jirify/config.rb, line 84
def projects
  options['projects']
end
projects=(value) click to toggle source
# File lib/jirify/config.rb, line 41
def projects=(value)
  unless initialized?
    puts ColorizedString['ERROR: You must initialize Jirify first!'].white.on_red.bold
    exit(0)
  end

  config = YAML.load_file(config_file)
  config['options']['projects'] = value
  write(config)
end
statuses() click to toggle source
# File lib/jirify/config.rb, line 92
def statuses
  default = {
    'blocked'     => 'Blocked',
    'todo'        => 'To Do',
    'in_progress' => 'In Progress',
    'in_review'   => 'In Review',
    'done'        => 'Closed'
  }

  if initialized?
    options['statuses'] || default
  else
    default
  end
end
transitions() click to toggle source
# File lib/jirify/config.rb, line 108
def transitions
  default = {
    'block'        => 'Blocked',
    'unblock'      => 'Unblock',
    'start'        => 'Start Progress',
    'stop'         => 'Stop Progress',
    'start_review' => 'Code Review',
    'stop_review'  => 'Back to In Progress',
    'close'        => 'Close',
    'reopen'       => 'Reopen'
  }

  if initialized?
    options['transitions'] || default
  else
    default
  end
end
username() click to toggle source
# File lib/jirify/config.rb, line 80
def username
  options['username']
end
verbose=(value) click to toggle source
# File lib/jirify/config.rb, line 52
def verbose=(value)
  unless initialized?
    puts ColorizedString['ERROR: You must initialize Jirify first!'].white.on_red.bold
    exit(0)
  end

  config = YAML.load_file(config_file)
  config['options']['verbose'] = value
  write(config)
end
write(config) click to toggle source
# File lib/jirify/config.rb, line 34
def write(config)
  puts 'Writing config:'
  puts config.to_yaml

  File.write(config_file, config.to_yaml)
end