class Ctrl::Card

Attributes

closed[RW]
description[RW]
due[RW]
id[RW]
labels[RW]
name[RW]
position[RW]
url[RW]

Public Class Methods

create(opts) click to toggle source
# File lib/ctrl/card.rb, line 22
def self.create(opts); end
find_all_by_board(board_id) click to toggle source
# File lib/ctrl/card.rb, line 54
def self.find_all_by_board(board_id)
  API.get_cards_for_board(board_id).map { |card| Card.new(card) }
end
find_all_by_list(list_id) click to toggle source
# File lib/ctrl/card.rb, line 50
def self.find_all_by_list(list_id);
  API.get_cards_for_list(list_id).map { |card| Card.new(card) }
end
find_by_id(id) click to toggle source
# File lib/ctrl/card.rb, line 24
def self.find_by_id(id)
  Card.new(API.get_card(id))
end
find_by_name(name, obj) click to toggle source
# File lib/ctrl/card.rb, line 28
def self.find_by_name(name, obj)
  if obj.is_a? List
    fuzzy = FuzzyMatch.new(find_all_by_list(obj.id), read: :name)
  elsif obj.is_a? Board
    fuzzy = FuzzyMatch.new(find_all_by_board(obj.id), read: :name)
  else
    fail "Object must be a card or a board"
  end
  fuzzy.find(name)
end
find_by_position(pos, list) click to toggle source
# File lib/ctrl/card.rb, line 39
def self.find_by_position(pos, list)
  pos = 0 if pos == "first" || pos == "top"
  pos = -1 if pos == "last" || pos == "bottom"

  unless pos.is_a? Integer
    fail "Position must by integer, 'top', 'first', 'bottom', or 'last'"
  end

  find_all_by_list(list.id).sort_by(&:position)[pos]
end
new(opts) click to toggle source
# File lib/ctrl/card.rb, line 5
def initialize(opts)
  @id = opts["id"]
  @name = opts["name"]
  @description = opts["description"]
  @due = opts["due"]
  @labels = opts["labels"]
  @position = opts["pos"]
  @closed = opts["closed"]
  @url = opts["shortUrl"] || opts["url"]
  @board = Board.new(opts["board"]) if opts["board"]
  @list = List.new(opts["list"]) if opts["list"]
  @board_id = opts["idBoard"]
  @list_id = opts["idList"]
end

Public Instance Methods

board() click to toggle source
# File lib/ctrl/card.rb, line 58
def board
  @board ||= Board.find_by_id(@board_id)
end
list() click to toggle source
# File lib/ctrl/card.rb, line 62
def list
  @list ||= List.find_by_id(@list_id)
end
save() click to toggle source
# File lib/ctrl/card.rb, line 20
def save; end