Class: Trello::Board
Instance Attribute Summary
Attributes inherited from BasicData
#client
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from HasActions
#actions
Methods inherited from BasicData
#==, client, #initialize, many, one, parse, parse_many, path_name, #refresh!, register_attributes, save
Class Method Details
.all ⇒ Object
24
25
26
|
# File 'lib/trello/board.rb', line 24
def all
client.get("/members/#{Member.find(:me).username}/boards").json_into(self)
end
|
.create(fields) ⇒ Object
17
18
19
20
21
22
|
# File 'lib/trello/board.rb', line 17
def create(fields)
client.create(:board,
'name' => fields[:name],
'desc' => fields[:description],
'closed' => fields[:closed] || false)
end
|
.find(id) ⇒ Object
13
14
15
|
# File 'lib/trello/board.rb', line 13
def find(id)
client.find(:board, id)
end
|
Instance Method Details
#closed? ⇒ Boolean
63
64
65
|
# File 'lib/trello/board.rb', line 63
def closed?
attributes[:closed]
end
|
#find_card(card_id) ⇒ Object
71
72
73
|
# File 'lib/trello/board.rb', line 71
def find_card(card_id)
client.get("/boards/#{self.id}/cards/#{card_id}").json_into(Card)
end
|
#has_lists? ⇒ Boolean
67
68
69
|
# File 'lib/trello/board.rb', line 67
def has_lists?
lists.size > 0
end
|
#labels ⇒ Object
99
100
101
102
|
# File 'lib/trello/board.rb', line 99
def labels
labels = client.get("/boards/#{id}/labelnames").json_into(LabelName)
MultiAssociation.new(self, labels).proxy
end
|
#request_prefix ⇒ Object
105
106
107
|
# File 'lib/trello/board.rb', line 105
def request_prefix
"/boards/#{id}"
end
|
#save ⇒ Object
29
30
31
32
33
34
35
36
37
|
# File 'lib/trello/board.rb', line 29
def save
return update! if id
fields = { :name => name }
fields.merge!(:desc => description) if description
fields.merge!(:idOrganization => organization_id) if organization_id
client.post("/boards", fields).json_into(self)
end
|
#update! ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/trello/board.rb', line 39
def update!
fail "Cannot save new instance." unless self.id
@previously_changed = changes
@changed_attributes.clear
client.put("/boards/#{self.id}/", {
:name => attributes[:name],
:description => attributes[:description],
:closed => attributes[:closed]
}).json_into(self)
end
|
#update_fields(fields) ⇒ Object
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/trello/board.rb', line 52
def update_fields(fields)
attributes[:id] = fields['id'] if fields['id']
attributes[:name] = fields['name'] if fields['name']
attributes[:description] = fields['desc'] if fields['desc']
attributes[:closed] = fields['closed'] if fields.has_key?('closed')
attributes[:url] = fields['url'] if fields['url']
attributes[:organization_id] = fields['idOrganization'] if fields['idOrganization']
attributes[:prefs] = fields['prefs'] || {}
self
end
|