Sha256: d1896dc2969bebe8c6b0b3427fbd829938b8b61b0cbb99b5f7720ff6bccad184
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
module Troo module External class Card class << self def fetch(external_id, options = {}) new(external_id, options).fetch_by_external_id.map do |resource| unless closed?(resource) Troo::External::Comment.fetch(resource.id, { mode: :card }) if options.fetch(:comments, true) Troo::CardPersistence.for(resource) end end end private def closed?(resource) resource.nil? || resource.closed? end end def initialize(external_id, options = {}) @external_id = external_id @options = options end def fetch_by_external_id case options.fetch(:mode) when :board then board_mode when :list then list_mode when :card then card_mode end end private attr_reader :external_id def options defaults.merge!(@options) end def defaults { comments: true, mode: :board } end def board_mode Trello::Board.find(external_id).cards rescue Trello::InvalidAccessToken raise Troo::InvalidAccessToken rescue Trello::Error [] end def list_mode Trello::List.find(external_id).cards rescue Trello::InvalidAccessToken raise Troo::InvalidAccessToken rescue Trello::Error [] end def card_mode [Trello::Card.find(external_id)] rescue Trello::InvalidAccessToken raise Troo::InvalidAccessToken rescue Trello::Error [] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
troo-0.0.3 | lib/troo/external/card.rb |
troo-0.0.2 | lib/troo/external/card.rb |