class TimeTrello::TrelloDriver
Public: Driver responsible to convert data gathered from Trello to an internal representation.
Attributes
board_id[RW]
prefix[RW]
Public Class Methods
new(board_id, prefix)
click to toggle source
# File lib/time_trello/trello_driver.rb, line 22 def initialize(board_id, prefix) @board_id = board_id @prefix = prefix @activities = nil @board = nil @members = nil @parser = nil end
Public Instance Methods
activities()
click to toggle source
Public: Getter. Gets all activities for a given board.
# File lib/time_trello/trello_driver.rb, line 75 def activities return @activities if !@activities.nil? && @activities.length > 0 @activities = [] self.board.cards.each do |card| card.actions.each do |action| member = self.members.select { |member| member.id == action.member_creator_id }.first action_record = {action: action, member: member} activity = self.parser.parse(action_record) @activities.push(activity) unless activity.nil? end end @activities end
board()
click to toggle source
Public: Getter. Gets a board, based on a board id.
# File lib/time_trello/trello_driver.rb, line 39 def board retried = false begin @board = Trello::Board.find(@board_id) if @board.nil? rescue if !retried retried = true retry else raise "Failed to connect to Trello API" end end @board end
members()
click to toggle source
Public: Getter. Gets all members subscribed to the board under analysis
# File lib/time_trello/trello_driver.rb, line 57 def members retried = false begin @members = self.board.members if @members.nil? rescue if !retried retried = true retry else raise "Failed to connect to Trello API" end end @members end
parser()
click to toggle source
Public: Getter. Returns a record parser instance
# File lib/time_trello/trello_driver.rb, line 32 def parser @parser = Parser.new(@prefix) if @parser.nil? @parser end
reset_cache()
click to toggle source
Public: Resets the driver caches
# File lib/time_trello/trello_driver.rb, line 92 def reset_cache @activities = nil @board = nil @members = nil end