lib/troo/external/card.rb in troo-0.0.3 vs lib/troo/external/card.rb in troo-0.0.4
- old
+ new
@@ -1,38 +1,24 @@
module Troo
module External
- class Card
+ class Card < Resource
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)
@@ -40,30 +26,22 @@
def defaults
{ comments: true, mode: :board }
end
- def board_mode
+ def by_board_id
Trello::Board.find(external_id).cards
- rescue Trello::InvalidAccessToken
- raise Troo::InvalidAccessToken
- rescue Trello::Error
- []
end
- def list_mode
+ def by_list_id
Trello::List.find(external_id).cards
- rescue Trello::InvalidAccessToken
- raise Troo::InvalidAccessToken
- rescue Trello::Error
- []
end
- def card_mode
+ def by_card_id
[Trello::Card.find(external_id)]
- rescue Trello::InvalidAccessToken
- raise Troo::InvalidAccessToken
- rescue Trello::Error
+ end
+
+ def by_member_id
[]
end
end
end
end