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
26
27
28
|
# File 'lib/trello/board.rb', line 26
def all
client.get("/members/#{Member.find(:me).username}/boards").json_into(self)
end
|
.create(fields) ⇒ Object
17
18
19
20
21
22
23
24
|
# File 'lib/trello/board.rb', line 17
def create(fields)
data = {
'name' => fields[:name],
'desc' => fields[:description],
'closed' => fields[:closed] || false }
data.merge!('idOrganization' => fields[:organization_id]) if fields[:organization_id]
client.create(:board, data)
end
|
.find(id, params = {}) ⇒ Object
13
14
15
|
# File 'lib/trello/board.rb', line 13
def find(id, params = {})
client.find(:board, id, params)
end
|
Instance Method Details
#closed? ⇒ Boolean
65
66
67
|
# File 'lib/trello/board.rb', line 65
def closed?
attributes[:closed]
end
|
#find_card(card_id) ⇒ Object
73
74
75
|
# File 'lib/trello/board.rb', line 73
def find_card(card_id)
client.get("/boards/#{self.id}/cards/#{card_id}").json_into(Card)
end
|
#has_lists? ⇒ Boolean
69
70
71
|
# File 'lib/trello/board.rb', line 69
def has_lists?
lists.size > 0
end
|
#labels ⇒ Object
101
102
103
104
|
# File 'lib/trello/board.rb', line 101
def labels
labels = client.get("/boards/#{id}/labelnames").json_into(LabelName)
MultiAssociation.new(self, labels).proxy
end
|
#request_prefix ⇒ Object
107
108
109
|
# File 'lib/trello/board.rb', line 107
def request_prefix
"/boards/#{id}"
end
|
#save ⇒ Object
31
32
33
34
35
36
37
38
39
|
# File 'lib/trello/board.rb', line 31
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
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/trello/board.rb', line 41
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
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/trello/board.rb', line 54
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
|