class Backlog::Cli::Commands

Public Class Methods

new(args = [], options = {}, config = {}) click to toggle source
Calls superclass method
# File lib/backlog/cli/commands.rb, line 21
def initialize(args = [], options = {}, config = {})
  super(args, options, config)
  profile = config[:shell].base.options['profile']
  @core = Backlog::Cli::Core.new(profile)
end

Public Instance Methods

create_issue(project_key) click to toggle source
# File lib/backlog/cli/commands.rb, line 31
def create_issue(project_key)
  puts JSON.pretty_generate(@core.create_issue(project_key.upcase, options))
end
create_issue_by_file() click to toggle source
# File lib/backlog/cli/commands.rb, line 113
def create_issue_by_file
  yaml = load_yaml
  project_key = yaml.delete(:project_key)
  @core.create_issue(project_key, yaml)
end
find_issue(project_key) click to toggle source
# File lib/backlog/cli/commands.rb, line 68
def find_issue(project_key)
  results = @core.find_issue(project_key.upcase, options)
  selected = results.map do |result|
    result.select { |k, v| %w(id url key summary description).include? k }
  end
  puts JSON.pretty_generate(selected.reverse)
end
get_comments() click to toggle source
# File lib/backlog/cli/commands.rb, line 37
def get_comments
  puts JSON.pretty_generate(@core.get_comments(options))
end
get_issue() click to toggle source
# File lib/backlog/cli/commands.rb, line 50
def get_issue
  result = @core.get_issue(options)
  puts JSON.pretty_generate(result)
end
get_project_summaries() click to toggle source
# File lib/backlog/cli/commands.rb, line 101
def get_project_summaries
  results = @core.get_project_summaries
  puts JSON.pretty_generate(results)
end
get_projects() click to toggle source
# File lib/backlog/cli/commands.rb, line 95
def get_projects
  results = @core.get_projects
  puts JSON.pretty_generate(results)
end
get_users(project_key) click to toggle source
# File lib/backlog/cli/commands.rb, line 107
def get_users(project_key)
  results = @core.get_users(project_key.upcase)
  puts JSON.pretty_generate(results)
end
list(project_key) click to toggle source
# File lib/backlog/cli/commands.rb, line 78
def list(project_key)
  items = @core.get_rss(project_key.upcase).slice(0, options[:limit])
  results = []
  items.each do |item|
    result = {}
    result[:title] = item.title
    result[:content] = item.content
    result[:authors] = item.authors.first
    result[:date_published] = item.date_published
    result[:url] = item.id
    result[:urls] = @core.urls(item.content)
    results << result
  end
  puts JSON.pretty_generate(results.reverse)
end
open() click to toggle source
# File lib/backlog/cli/commands.rb, line 57
def open
  result = @core.get_issue(options)
  `open #{result['url']}`
end
update_issue() click to toggle source
# File lib/backlog/cli/commands.rb, line 44
def update_issue
  puts JSON.pretty_generate(@core.update_issue(options))
end
update_issue_by_file() click to toggle source
# File lib/backlog/cli/commands.rb, line 120
def update_issue_by_file
  @core.update_issue(load_yaml)
end
version() click to toggle source
# File lib/backlog/cli/commands.rb, line 125
def version
  puts Backlog::Cli::VERSION
end

Private Instance Methods

load_yaml() click to toggle source
# File lib/backlog/cli/commands.rb, line 131
def load_yaml
  yaml = YAML.load(STDIN.read)
  yaml.symbolize_keys!
  yaml
end