Class: Reviewlette::TrelloConnection

Inherits:
Object
  • Object
show all
Defined in:
lib/reviewlette/trello_connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = nil) ⇒ TrelloConnection

Returns a new instance of TrelloConnection.



9
10
11
12
13
14
15
16
# File 'lib/reviewlette/trello_connection.rb', line 9

def initialize(config = nil)
  config ||= YAML.load_file("#{File.dirname(__FILE__)}/../../config/trello.yml")
  Trello.configure do |conf|
    conf.developer_public_key = config['consumerkey']
    conf.member_token = config['oauthtoken']
  end
  @board = Trello::Board.find(config['board_id'])
end

Instance Attribute Details

#boardObject

Returns the value of attribute board.



7
8
9
# File 'lib/reviewlette/trello_connection.rb', line 7

def board
  @board
end

Instance Method Details

#add_reviewer_to_card(reviewer, card) ⇒ Object



18
19
20
21
# File 'lib/reviewlette/trello_connection.rb', line 18

def add_reviewer_to_card(reviewer, card)
  reviewer = find_member_by_username(reviewer)
  card.add_member(reviewer)
end

#comment_reviewers(card, repo_name, issue_id, reviewers) ⇒ Object



23
24
25
26
27
# File 'lib/reviewlette/trello_connection.rb', line 23

def comment_reviewers(card, repo_name, issue_id, reviewers)
  comment = reviewers.map { |r| "@#{r.trello_handle}" }.join(' and ')
  comment += " will review https://github.com/#{repo_name}/issues/#{issue_id}"
  card.add_comment(comment)
end

#find_card_by_id(id) ⇒ Object



42
43
44
# File 'lib/reviewlette/trello_connection.rb', line 42

def find_card_by_id(id)
  @board.cards.find { |c| c.short_id == id.to_i }
end

#find_column(column_name) ⇒ Object



34
35
36
# File 'lib/reviewlette/trello_connection.rb', line 34

def find_column(column_name)
  @board.lists.find { |x| x.name == column_name }
end

#find_member_by_username(username) ⇒ Object



38
39
40
# File 'lib/reviewlette/trello_connection.rb', line 38

def find_member_by_username(username)
  @board.members.find { |m| m.username == username }
end

#move_card_to_list(card, column_name) ⇒ Object



29
30
31
32
# File 'lib/reviewlette/trello_connection.rb', line 29

def move_card_to_list(card, column_name)
  column = find_column(column_name)
  card.move_to_list(column)
end