ruby-trello 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trello.rb +1 -0
- data/lib/trello/action.rb +16 -7
- data/lib/trello/basic_data.rb +4 -1
- data/lib/trello/board.rb +5 -3
- data/lib/trello/card.rb +55 -21
- data/lib/trello/checklist.rb +3 -2
- data/lib/trello/client.rb +1 -0
- data/lib/trello/core_ext/array.rb +5 -0
- data/lib/trello/core_ext/hash.rb +6 -0
- data/lib/trello/{string.rb → core_ext/string.rb} +1 -6
- data/lib/trello/cover_image.rb +8 -0
- data/lib/trello/organization.rb +2 -2
- data/spec/action_spec.rb +9 -0
- data/spec/array_spec.rb +10 -0
- data/spec/card_spec.rb +16 -1
- data/spec/checklist_spec.rb +17 -1
- data/spec/hash_spec.rb +11 -0
- data/spec/spec_helper.rb +3 -0
- data/spec/string_spec.rb +5 -5
- metadata +12 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 646b1425d617c5840facf57bee4cf7b52a7ef4a7
|
4
|
+
data.tar.gz: 805feb33ce7d86288b20612451bbe523fce80e91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5c21fc97bbfe409dadf87336190dd6ec1c875bae9f4154ae761529a1dae50c17fe7757af4b9cb66c6bf40498c8a2f9a9085da1978ddfba279486c93bdb09baa
|
7
|
+
data.tar.gz: 74655e09b8a6fb6ed6a00e10a63b5e4f4d9e9b7d4014aaf74575e8a473f9644e9759f75b6f9722800b8af2852de8e2a75dbd706afc1404c3f50c778120dc9cf7
|
data/lib/trello.rb
CHANGED
@@ -41,6 +41,7 @@ module Trello
|
|
41
41
|
autoload :Association, 'trello/association'
|
42
42
|
autoload :AssociationProxy, 'trello/association_proxy'
|
43
43
|
autoload :Attachment, 'trello/attachment'
|
44
|
+
autoload :CoverImage, 'trello/cover_image'
|
44
45
|
autoload :BasicData, 'trello/basic_data'
|
45
46
|
autoload :Board, 'trello/board'
|
46
47
|
autoload :Card, 'trello/card'
|
data/lib/trello/action.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module Trello
|
2
2
|
# Action represents some event that occurred. For instance, when a card is created.
|
3
3
|
class Action < BasicData
|
4
|
-
register_attributes :id, :type, :data, :date, :member_creator_id,
|
5
|
-
:readonly => [ :id, :type, :data, :date, :member_creator_id ]
|
4
|
+
register_attributes :id, :type, :data, :date, :member_creator_id, :member_participant,
|
5
|
+
:readonly => [ :id, :type, :data, :date, :member_creator_id, :member_participant ]
|
6
6
|
validates_presence_of :id, :type, :date, :member_creator_id
|
7
7
|
|
8
8
|
class << self
|
@@ -10,6 +10,14 @@ module Trello
|
|
10
10
|
def find(id, params = {})
|
11
11
|
client.find(:action, id, params)
|
12
12
|
end
|
13
|
+
|
14
|
+
def search(query, opts={})
|
15
|
+
response = client.get("/search/", { query: query }.merge(opts))
|
16
|
+
formatted_response = JSON.parse(response).except("options").inject({}) do |res, key|
|
17
|
+
res.merge!({ key.first => key.last.jsoned_into("Trello::#{key.first.singularize.capitalize}".constantize) })
|
18
|
+
res
|
19
|
+
end
|
20
|
+
end
|
13
21
|
end
|
14
22
|
|
15
23
|
# Update the attributes of an action
|
@@ -17,11 +25,12 @@ module Trello
|
|
17
25
|
# Supply a hash of string keyed data retrieved from the Trello API representing
|
18
26
|
# an Action.
|
19
27
|
def update_fields(fields)
|
20
|
-
attributes[:id]
|
21
|
-
attributes[:type]
|
22
|
-
attributes[:data]
|
23
|
-
attributes[:date]
|
24
|
-
attributes[:member_creator_id]
|
28
|
+
attributes[:id] = fields['id']
|
29
|
+
attributes[:type] = fields['type']
|
30
|
+
attributes[:data] = fields['data']
|
31
|
+
attributes[:date] = Time.iso8601(fields['date'])
|
32
|
+
attributes[:member_creator_id] = fields['idMemberCreator']
|
33
|
+
attributes[:member_participant] = fields['member']
|
25
34
|
self
|
26
35
|
end
|
27
36
|
|
data/lib/trello/basic_data.rb
CHANGED
data/lib/trello/board.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Trello
|
2
2
|
class Board < BasicData
|
3
3
|
register_attributes :id, :name, :description, :closed, :url, :organization_id, :prefs,
|
4
|
-
:readonly => [ :id, :url, :
|
4
|
+
:readonly => [ :id, :url, :prefs ]
|
5
5
|
validates_presence_of :id, :name
|
6
6
|
validates_length_of :name, :in => 1..16384
|
7
7
|
validates_length_of :description, :maximum => 16384
|
@@ -15,10 +15,12 @@ module Trello
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def create(fields)
|
18
|
-
|
18
|
+
data = {
|
19
19
|
'name' => fields[:name],
|
20
20
|
'desc' => fields[:description],
|
21
|
-
'closed' => fields[:closed] || false
|
21
|
+
'closed' => fields[:closed] || false }
|
22
|
+
data.merge!('idOrganization' => fields[:organization_id]) if fields[:organization_id]
|
23
|
+
client.create(:board, data)
|
22
24
|
end
|
23
25
|
|
24
26
|
def all
|
data/lib/trello/card.rb
CHANGED
@@ -1,14 +1,36 @@
|
|
1
1
|
module Trello
|
2
2
|
# A Card is a container that can house checklists and comments; it resides inside a List.
|
3
3
|
class Card < BasicData
|
4
|
-
register_attributes :id, :short_id, :name, :desc, :due, :closed, :url, :
|
5
|
-
:
|
4
|
+
register_attributes :id, :short_id, :name, :desc, :due, :closed, :url, :short_url,
|
5
|
+
:board_id, :member_ids, :list_id, :pos, :last_activity_date, :card_labels,
|
6
|
+
:cover_image_id, :badges, :card_members,
|
7
|
+
:readonly => [ :id, :short_id, :url, :short_url, :last_activity_date, :badges, :card_members ]
|
6
8
|
validates_presence_of :id, :name, :list_id
|
7
9
|
validates_length_of :name, :in => 1..16384
|
8
10
|
validates_length_of :desc, :in => 0..16384
|
9
11
|
|
10
12
|
include HasActions
|
11
13
|
|
14
|
+
SYMBOL_TO_STRING = {
|
15
|
+
id: 'id',
|
16
|
+
short_id: 'idShort',
|
17
|
+
name: 'name',
|
18
|
+
desc: 'desc',
|
19
|
+
due: 'due',
|
20
|
+
closed: 'closed',
|
21
|
+
url: 'url',
|
22
|
+
short_url: 'shortUrl',
|
23
|
+
board_id: 'idBoard',
|
24
|
+
member_ids: 'idMembers',
|
25
|
+
cover_image_id: 'idAttachmentCover',
|
26
|
+
list_id: 'idList',
|
27
|
+
pos: 'pos',
|
28
|
+
last_activity_date: 'dateLastActivity',
|
29
|
+
card_labels: 'labels',
|
30
|
+
badges: 'badges',
|
31
|
+
card_members: 'members'
|
32
|
+
}
|
33
|
+
|
12
34
|
class << self
|
13
35
|
# Find a specific card by its id.
|
14
36
|
def find(id, params = {})
|
@@ -18,9 +40,12 @@ module Trello
|
|
18
40
|
# Create a new card and save it on Trello.
|
19
41
|
def create(options)
|
20
42
|
client.create(:card,
|
21
|
-
|
22
|
-
|
23
|
-
|
43
|
+
'name' => options[:name],
|
44
|
+
'idList' => options[:list_id],
|
45
|
+
'desc' => options[:desc],
|
46
|
+
'idMembers' => options[:member_ids],
|
47
|
+
'labels' => options[:card_labels]
|
48
|
+
)
|
24
49
|
end
|
25
50
|
end
|
26
51
|
|
@@ -29,23 +54,30 @@ module Trello
|
|
29
54
|
# Supply a hash of string keyed data retrieved from the Trello API representing
|
30
55
|
# a card.
|
31
56
|
def update_fields(fields)
|
32
|
-
attributes[:id] = fields[
|
33
|
-
attributes[:short_id] = fields[
|
34
|
-
attributes[:name] = fields[
|
35
|
-
attributes[:desc] = fields[
|
36
|
-
attributes[:due] = Time.iso8601(fields[
|
37
|
-
attributes[:closed] = fields[
|
38
|
-
attributes[:url] = fields[
|
39
|
-
attributes[:
|
40
|
-
attributes[:
|
41
|
-
attributes[:
|
42
|
-
attributes[:
|
43
|
-
attributes[:
|
57
|
+
attributes[:id] = fields[SYMBOL_TO_STRING[:id]]
|
58
|
+
attributes[:short_id] = fields[SYMBOL_TO_STRING[:short_id]]
|
59
|
+
attributes[:name] = fields[SYMBOL_TO_STRING[:name]]
|
60
|
+
attributes[:desc] = fields[SYMBOL_TO_STRING[:desc]]
|
61
|
+
attributes[:due] = Time.iso8601(fields[SYMBOL_TO_STRING[:due]]) rescue nil
|
62
|
+
attributes[:closed] = fields[SYMBOL_TO_STRING[:closed]]
|
63
|
+
attributes[:url] = fields[SYMBOL_TO_STRING[:url]]
|
64
|
+
attributes[:short_url] = fields[SYMBOL_TO_STRING[:short_url]]
|
65
|
+
attributes[:board_id] = fields[SYMBOL_TO_STRING[:board_id]]
|
66
|
+
attributes[:member_ids] = fields[SYMBOL_TO_STRING[:member_ids]]
|
67
|
+
attributes[:list_id] = fields[SYMBOL_TO_STRING[:list_id]]
|
68
|
+
attributes[:pos] = fields[SYMBOL_TO_STRING[:post]]
|
69
|
+
attributes[:card_labels] = fields[SYMBOL_TO_STRING[:card_labels]]
|
70
|
+
attributes[:last_activity_date] = Time.iso8601(fields[SYMBOL_TO_STRING[:last_activity_date]]) rescue nil
|
71
|
+
attributes[:cover_image_id] = fields[SYMBOL_TO_STRING[:cover_image_id]]
|
72
|
+
attributes[:badges] = fields[SYMBOL_TO_STRING[:badges]]
|
73
|
+
attributes[:card_members] = fields[SYMBOL_TO_STRING[:card_members]]
|
44
74
|
self
|
45
75
|
end
|
46
76
|
|
47
77
|
# Returns a reference to the board this card is part of.
|
48
78
|
one :board, :path => :boards, :using => :board_id
|
79
|
+
# Returns a reference to the cover image attachment
|
80
|
+
one :cover_image, :path => :attachments, :using => :cover_image_id
|
49
81
|
|
50
82
|
# Returns a list of checklists associated with the card.
|
51
83
|
#
|
@@ -77,9 +109,11 @@ module Trello
|
|
77
109
|
return update! if id
|
78
110
|
|
79
111
|
client.post("/cards", {
|
80
|
-
:
|
81
|
-
:
|
82
|
-
:
|
112
|
+
name: name,
|
113
|
+
desc: desc,
|
114
|
+
idList: list_id,
|
115
|
+
idMembers: member_ids,
|
116
|
+
labels: card_labels
|
83
117
|
}).json_into(self)
|
84
118
|
end
|
85
119
|
|
@@ -90,7 +124,7 @@ module Trello
|
|
90
124
|
def update!
|
91
125
|
@previously_changed = changes
|
92
126
|
# extract only new values to build payload
|
93
|
-
payload = Hash[changes.map { |key, values| [key.to_sym.
|
127
|
+
payload = Hash[changes.map { |key, values| [SYMBOL_TO_STRING[key.to_sym].to_sym, values[1]] }]
|
94
128
|
@changed_attributes.clear
|
95
129
|
|
96
130
|
client.put("/cards/#{id}", payload)
|
data/lib/trello/checklist.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Trello
|
2
2
|
# A Checklist holds items which are like a "task" list. Checklists are linked to a card.
|
3
3
|
class Checklist < BasicData
|
4
|
-
register_attributes :id, :name, :description, :closed, :url, :check_items, :board_id, :list_id, :member_ids,
|
4
|
+
register_attributes :id, :name, :description, :closed, :position, :url, :check_items, :board_id, :list_id, :member_ids,
|
5
5
|
:readonly => [:id, :description, :closed, :url, :check_items, :board_id, :list_id, :member_ids]
|
6
6
|
validates_presence_of :id, :board_id, :list_id
|
7
7
|
validates_length_of :name, :in => 1..16384
|
@@ -30,6 +30,7 @@ module Trello
|
|
30
30
|
attributes[:closed] = fields['closed']
|
31
31
|
attributes[:url] = fields['url']
|
32
32
|
attributes[:check_items] = fields['checkItems']
|
33
|
+
attributes[:position] = fields['position']
|
33
34
|
attributes[:board_id] = fields['idBoard']
|
34
35
|
attributes[:list_id] = fields['idList']
|
35
36
|
attributes[:member_ids] = fields['idMembers']
|
@@ -52,7 +53,7 @@ module Trello
|
|
52
53
|
end
|
53
54
|
|
54
55
|
def update!
|
55
|
-
client.put("/checklists/#{id}", {:name => name}).json_into(self)
|
56
|
+
client.put("/checklists/#{id}", {:name => name, :pos => position}).json_into(self)
|
56
57
|
end
|
57
58
|
|
58
59
|
# Return a list of items on the checklist.
|
data/lib/trello/client.rb
CHANGED
@@ -17,12 +17,7 @@ class String
|
|
17
17
|
# thing.b == "foo"
|
18
18
|
def json_into(obj)
|
19
19
|
data = JSON.parse(self)
|
20
|
-
|
21
|
-
if data.kind_of? Hash
|
22
|
-
obj.send(action, JSON.parse(self))
|
23
|
-
else
|
24
|
-
data.map { |element| obj.send(action, element) }
|
25
|
-
end
|
20
|
+
data.jsoned_into(obj)
|
26
21
|
rescue JSON::ParserError => json_error
|
27
22
|
if json_error.message =~ /model not found/
|
28
23
|
Trello.logger.error "Could not find that record."
|
data/lib/trello/organization.rb
CHANGED
@@ -34,8 +34,8 @@ module Trello
|
|
34
34
|
end
|
35
35
|
|
36
36
|
# Returns an array of members associated with the organization.
|
37
|
-
def members
|
38
|
-
members = client.get("/organizations/#{id}/members/all").json_into(Member)
|
37
|
+
def members(params = {})
|
38
|
+
members = client.get("/organizations/#{id}/members/all", params).json_into(Member)
|
39
39
|
MultiAssociation.new(self, members).proxy
|
40
40
|
end
|
41
41
|
|
data/spec/action_spec.rb
CHANGED
@@ -25,6 +25,15 @@ module Trello
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
context 'search' do
|
29
|
+
let(:client) { Trello.client }
|
30
|
+
|
31
|
+
it "should search and get back a card object" do
|
32
|
+
client.should_receive(:get).with("/search/", { query: "something"}).and_return(JSON.generate({ "cards" => cards_details }))
|
33
|
+
Action.search("something").should eq({ "cards" => cards_details.jsoned_into(Card) })
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
28
37
|
context 'fields' do
|
29
38
|
let(:detail) { actions_details.first }
|
30
39
|
|
data/spec/array_spec.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'trello/core_ext/array'
|
3
|
+
|
4
|
+
describe Array, '#jsoned_into' do
|
5
|
+
include Helpers
|
6
|
+
|
7
|
+
it "should convert an array of parsed json into cards" do
|
8
|
+
cards_details.jsoned_into(Trello::Card).should eq([cards_details.first.jsoned_into(Trello::Card)])
|
9
|
+
end
|
10
|
+
end
|
data/spec/card_spec.rb
CHANGED
@@ -51,7 +51,7 @@ module Trello
|
|
51
51
|
|
52
52
|
result = JSON.generate(cards_details.first.merge(payload.merge(:idList => lists_details.first['id'])))
|
53
53
|
|
54
|
-
expected_payload = {:
|
54
|
+
expected_payload = {name: "Test Card", desc: nil, idList: "abcdef123456789123456789", idMembers: nil, labels: nil }
|
55
55
|
|
56
56
|
client.should_receive(:post).with("/cards", expected_payload).and_return result
|
57
57
|
|
@@ -108,9 +108,17 @@ module Trello
|
|
108
108
|
card.url.should_not be_nil
|
109
109
|
end
|
110
110
|
|
111
|
+
it "gets its short url" do
|
112
|
+
card.short_url.should_not be_nil
|
113
|
+
end
|
114
|
+
|
111
115
|
it "gets its last active date" do
|
112
116
|
card.last_activity_date.should_not be_nil
|
113
117
|
end
|
118
|
+
|
119
|
+
it "gets its cover image id" do
|
120
|
+
card.cover_image_id.should_not be_nil
|
121
|
+
end
|
114
122
|
end
|
115
123
|
|
116
124
|
context "actions" do
|
@@ -132,6 +140,13 @@ module Trello
|
|
132
140
|
end
|
133
141
|
end
|
134
142
|
|
143
|
+
context "cover image" do
|
144
|
+
it "has a cover image" do
|
145
|
+
client.stub(:get).with("/attachments/abcdef123456789123456789", {}).and_return JSON.generate(attachments_details.first)
|
146
|
+
card.cover_image.should_not be_nil
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
135
150
|
context "checklists" do
|
136
151
|
it "has a list of checklists" do
|
137
152
|
client.stub(:get).with("/cards/abcdef123456789123456789/checklists", { :filter => :all }).and_return checklists_payload
|
data/spec/checklist_spec.rb
CHANGED
@@ -66,7 +66,8 @@ module Trello
|
|
66
66
|
expected_new_name = "xxx"
|
67
67
|
expected_resource = "/checklists/abcdef123456789123456789"
|
68
68
|
payload = {
|
69
|
-
:name => expected_new_name
|
69
|
+
:name => expected_new_name,
|
70
|
+
:pos => checklist.position
|
70
71
|
}
|
71
72
|
|
72
73
|
result = JSON.generate(checklists_details.first)
|
@@ -76,6 +77,21 @@ module Trello
|
|
76
77
|
checklist.save
|
77
78
|
end
|
78
79
|
|
80
|
+
it "updating position does a put on the correct resource with the correct value" do
|
81
|
+
expected_new_position = 33
|
82
|
+
expected_resource = "/checklists/abcdef123456789123456789"
|
83
|
+
payload = {
|
84
|
+
:name => checklist.name,
|
85
|
+
:pos => expected_new_position
|
86
|
+
}
|
87
|
+
|
88
|
+
result = JSON.generate(checklists_details.first)
|
89
|
+
client.should_receive(:put).once.with(expected_resource, payload).and_return result
|
90
|
+
|
91
|
+
checklist.position = expected_new_position
|
92
|
+
checklist.save
|
93
|
+
end
|
94
|
+
|
79
95
|
it "adds an item" do
|
80
96
|
expected_item_name = "item1"
|
81
97
|
expected_checked = true
|
data/spec/hash_spec.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'trello/core_ext/hash'
|
3
|
+
|
4
|
+
describe Hash, '#jsoned_into' do
|
5
|
+
include Helpers
|
6
|
+
|
7
|
+
it "should convert a single parsed json into card" do
|
8
|
+
Trello::Card.should_receive(:new).once.with(cards_details.first)
|
9
|
+
cards_details.first.jsoned_into(Trello::Card)
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -70,6 +70,7 @@ module Helpers
|
|
70
70
|
'name' => 'Test Checklist',
|
71
71
|
'desc' => 'A marvelous little checklist',
|
72
72
|
'closed' => false,
|
73
|
+
'position' => 16384,
|
73
74
|
'url' => 'https://trello.com/blah/blah',
|
74
75
|
'idBoard' => 'abcdef123456789123456789',
|
75
76
|
'idList' => 'abcdef123456789123456789',
|
@@ -105,8 +106,10 @@ module Helpers
|
|
105
106
|
'closed' => false,
|
106
107
|
'idList' => 'abcdef123456789123456789',
|
107
108
|
'idBoard' => 'abcdef123456789123456789',
|
109
|
+
'idAttachmentCover' => 'abcdef123456789123456789',
|
108
110
|
'idMembers' => ['abcdef123456789123456789'],
|
109
111
|
'url' => 'https://trello.com/card/board/specify-the-type-and-scope-of-the-jit-in-a-lightweight-spec/abcdef123456789123456789/abcdef123456789123456789',
|
112
|
+
'shortUrl' => 'https://trello.com/c/abcdef12',
|
110
113
|
'pos' => 12,
|
111
114
|
'dateLastActivity' => '2012-12-07T18:40:24.314Z'
|
112
115
|
}]
|
data/spec/string_spec.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'trello/string'
|
2
|
+
require 'trello/core_ext/string'
|
3
3
|
|
4
4
|
describe String, '#json_into' do
|
5
5
|
include Helpers
|
@@ -24,9 +24,9 @@ describe String, '#json_into' do
|
|
24
24
|
"name" => "Jazz Kang",
|
25
25
|
"description" => "Plonker"
|
26
26
|
})
|
27
|
-
|
27
|
+
|
28
28
|
json_text = '{"name" : "Jazz Kang", "description": "Plonker"}'
|
29
|
-
|
29
|
+
|
30
30
|
json_text.json_into example_class
|
31
31
|
end
|
32
32
|
|
@@ -37,7 +37,7 @@ describe String, '#json_into' do
|
|
37
37
|
{"name" : "Phil Murphy", "description": "Shoreditch hipster"}
|
38
38
|
]
|
39
39
|
JSON
|
40
|
-
|
40
|
+
|
41
41
|
result = json_text.json_into example_class
|
42
42
|
|
43
43
|
result.should be_an Array
|
@@ -47,4 +47,4 @@ describe String, '#json_into' do
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
50
|
-
|
50
|
+
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-trello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Tregunna
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -98,6 +98,10 @@ files:
|
|
98
98
|
- lib/trello/checklist.rb
|
99
99
|
- lib/trello/client.rb
|
100
100
|
- lib/trello/configuration.rb
|
101
|
+
- lib/trello/core_ext/array.rb
|
102
|
+
- lib/trello/core_ext/hash.rb
|
103
|
+
- lib/trello/core_ext/string.rb
|
104
|
+
- lib/trello/cover_image.rb
|
101
105
|
- lib/trello/has_actions.rb
|
102
106
|
- lib/trello/item.rb
|
103
107
|
- lib/trello/item_state.rb
|
@@ -109,12 +113,12 @@ files:
|
|
109
113
|
- lib/trello/net.rb
|
110
114
|
- lib/trello/notification.rb
|
111
115
|
- lib/trello/organization.rb
|
112
|
-
- lib/trello/string.rb
|
113
116
|
- lib/trello/token.rb
|
114
117
|
- lib/trello/webhook.rb
|
115
118
|
- lib/trello.rb
|
116
119
|
- README.md
|
117
120
|
- spec/action_spec.rb
|
121
|
+
- spec/array_spec.rb
|
118
122
|
- spec/association_spec.rb
|
119
123
|
- spec/basic_auth_policy_spec.rb
|
120
124
|
- spec/board_spec.rb
|
@@ -122,6 +126,7 @@ files:
|
|
122
126
|
- spec/checklist_spec.rb
|
123
127
|
- spec/client_spec.rb
|
124
128
|
- spec/configuration_spec.rb
|
129
|
+
- spec/hash_spec.rb
|
125
130
|
- spec/integration/how_to_authorize_spec.rb
|
126
131
|
- spec/integration/how_to_use_boards_spec.rb
|
127
132
|
- spec/integration/integration_test.rb
|
@@ -164,6 +169,7 @@ specification_version: 4
|
|
164
169
|
summary: A wrapper around the trello.com API.
|
165
170
|
test_files:
|
166
171
|
- spec/action_spec.rb
|
172
|
+
- spec/array_spec.rb
|
167
173
|
- spec/association_spec.rb
|
168
174
|
- spec/basic_auth_policy_spec.rb
|
169
175
|
- spec/board_spec.rb
|
@@ -171,6 +177,7 @@ test_files:
|
|
171
177
|
- spec/checklist_spec.rb
|
172
178
|
- spec/client_spec.rb
|
173
179
|
- spec/configuration_spec.rb
|
180
|
+
- spec/hash_spec.rb
|
174
181
|
- spec/integration/how_to_authorize_spec.rb
|
175
182
|
- spec/integration/how_to_use_boards_spec.rb
|
176
183
|
- spec/integration/integration_test.rb
|