class TPS::Importer::Trello

Public Class Methods

new(file) click to toggle source
Calls superclass method TPS::Importer::Base::new
# File lib/tps/importer.rb, line 22
def initialize(file)
  super
  @data = JSON.parse(File.read(@file))
  @tree = Hash.new
  work!
end

Public Instance Methods

archived() click to toggle source
# File lib/tps/importer.rb, line 34
def archived
  name = @data['name'] + ' archived milestone'
  @tree[name] ||= Hash.new
end
milestone() click to toggle source
# File lib/tps/importer.rb, line 29
def milestone
  name = @data['name'] + ' milestone'
  @tree[name] ||= Hash.new
end
work!() click to toggle source
# File lib/tps/importer.rb, line 39
def work!
  milestone
  archived

  @lists ||= Hash.new
  @data['lists'].each do |list|

    parent = list['closed'] ? archived : milestone
    parent[list['name']] ||= Hash.new

    @lists[list['id']] = parent[list['name']]
  end

  @data['cards'].each do |card|
    parent = @lists[card['idList']]

    labels = card['labels'].map { |l| l['name'].downcase }

    value = Array.new
    value << 'done'  if labels.include?("done")
    value << 'in progress'  if labels.include?("in progress")

    parent[card['name']] = value.empty? ? nil : value
  end
end