class TrelloScrum::Cli

Public Instance Methods

authorize() click to toggle source
# File lib/cli.rb, line 87
def authorize
  # Open the browser
  url = "https://trello.com/1/connect"
  url << "?key=#{self.config["developer_public_key"]}"
  url << "&name=TrelloScrumCard&response_type=token"
  Launchy.open(url)

  member_token = ask("Paste member token here:")

  if member_token =~ /.+/
    self.config["member_token"] = member_token
    write_config!
  else
    say "No member token entered. Not saving new member token"
  end
end
excel(outfile) click to toggle source
# File lib/cli.rb, line 46
def excel(outfile)
  trello = setup_trello
  lists_with_cards = trello.get_cards(options.list || config["list_name"], options)

  sheet = Spreadsheet.new
  sheet.render_cards(lists_with_cards)
  sheet.save(outfile)
end
log(msg) click to toggle source
# File lib/cli.rb, line 105
def log(msg)
  say msg if options.verbose
end
pdf(outfile) click to toggle source
# File lib/cli.rb, line 23
def pdf(outfile)
  trello = setup_trello

  list_name = options.list || config["list_name"]

  if !list_name || list_name.empty?
    say "Please enter a listname (using --list) or configure one using setup"
    exit(1)
  end

  lists_with_cards = trello.get_cards(list_name, options)

  pdf = Pdf.new
  pdf.render_cards(lists_with_cards)
  pdf.save(outfile)
end
setup(developer_public_key, member_token, board_id=nil, list_name=nil) click to toggle source
# File lib/cli.rb, line 73
def setup(developer_public_key, member_token, board_id=nil, list_name=nil)
  self.config["developer_public_key"] = developer_public_key
  self.config["member_token"] = member_token
  self.config["board_id"] = board_id if board_id
  self.config["list_name"] = list_name if list_name

  write_config!
end

Protected Instance Methods

config() click to toggle source
# File lib/cli.rb, line 145
def config
  if File.exist?(options.config)
    @config ||= JSON.parse(File.read(options.config));
  else
    @config ||= {}
  end
end
setup_trello() click to toggle source
# File lib/cli.rb, line 111
def setup_trello
  if !config["developer_public_key"] || config["developer_public_key"].empty?
    say "Please make sure you have configured a developer public key (run setup help for more info)"
    exit(1)
  end

  if !config["member_token"] || config["member_token"].empty?
    say "Please make sure you have configured a member token (run setup help for more info)"
    exit(1)
  end

  board_id = options.board || config["board_id"]
  if !board_id || board_id.empty?
    say "Please enter a board_id (using --board) or configure one using setup "
    exit(1)
  end

  TrelloInterface.new(
    board_id,
    config["developer_public_key"],
    config["member_token"],
    {
      cli: self
    }
  )
end
write_config!() click to toggle source
# File lib/cli.rb, line 138
def write_config!
  File.open(options.config, "w") do |f|
    f.write JSON.pretty_generate(self.config)
  end
  say "Config written to #{options.config}"
end