tacokit 0.2.1 → 0.3.0
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/.gitignore +1 -0
- data/lib/tacokit/client/actions.rb +2 -2
- data/lib/tacokit/client/boards.rb +3 -3
- data/lib/tacokit/client/cards.rb +3 -3
- data/lib/tacokit/client/checklists.rb +3 -3
- data/lib/tacokit/client/labels.rb +3 -3
- data/lib/tacokit/client/lists.rb +3 -3
- data/lib/tacokit/client/members.rb +14 -6
- data/lib/tacokit/client/notifications.rb +2 -2
- data/lib/tacokit/client/organizations.rb +3 -3
- data/lib/tacokit/client/types.rb +1 -1
- data/lib/tacokit/client/webhooks.rb +5 -3
- data/lib/tacokit/resource.rb +2 -1
- data/lib/tacokit/utils.rb +6 -0
- data/lib/tacokit/version.rb +1 -1
- data/spec/cassettes/Tacokit_Client_Members/_boards/returns_for_me_with_options_as_first_arg.json +1 -0
- data/spec/cassettes/Tacokit_Client_Members/_member/accepts_a_resource.json +1 -0
- data/spec/tacokit/client/members_spec.rb +17 -0
- data/spec/tacokit/resource_spec.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 721bdb7f3d850839c9e9dc12ccdba8452f03ca72
|
4
|
+
data.tar.gz: a1da08c3defaa5806675b86795b11613d97bfbc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b4d275d708a8ab1694183e25370252710c3e23aec78c80d30f40429f3926b242fb138f6a79ad4e7ddd61ea71c1f688026f334b436784339975d131f2f45fab5
|
7
|
+
data.tar.gz: bdc5d9afbb8b9917237a33b3197f3d3800e9a75b94afa99bd90b2e400a25587eb80d515f3dcc4f54a74dbaec8970f0b48e9a81c6793c6e332d766684daae635c
|
data/.gitignore
CHANGED
@@ -98,7 +98,7 @@ module Tacokit
|
|
98
98
|
|
99
99
|
# POST /1/boards
|
100
100
|
def create_board(name, options = {})
|
101
|
-
post
|
101
|
+
post "boards", options.merge(name: name)
|
102
102
|
end
|
103
103
|
|
104
104
|
private
|
@@ -123,8 +123,8 @@ module Tacokit
|
|
123
123
|
paginated_get board_path(board_id, *paths), options
|
124
124
|
end
|
125
125
|
|
126
|
-
def board_path(*paths)
|
127
|
-
|
126
|
+
def board_path(board_id, *paths)
|
127
|
+
resource_path("boards", board_id, *paths)
|
128
128
|
end
|
129
129
|
end
|
130
130
|
end
|
data/lib/tacokit/client/cards.rb
CHANGED
@@ -162,7 +162,7 @@ module Tacokit
|
|
162
162
|
#
|
163
163
|
# @see https://trello.com/docs/api/card/index.html#post-1-cards
|
164
164
|
def create_card(list_id, name = nil, options = {})
|
165
|
-
post
|
165
|
+
post "cards", options.merge(name: name, list_id: list_id)
|
166
166
|
end
|
167
167
|
|
168
168
|
# Add a comment to a card
|
@@ -330,8 +330,8 @@ module Tacokit
|
|
330
330
|
delete card_path(card_id, camp(resource), *paths)
|
331
331
|
end
|
332
332
|
|
333
|
-
def card_path(*paths)
|
334
|
-
|
333
|
+
def card_path(card_id, *paths)
|
334
|
+
resource_path("cards", card_id, *paths)
|
335
335
|
end
|
336
336
|
end
|
337
337
|
end
|
@@ -43,7 +43,7 @@ module Tacokit
|
|
43
43
|
# @see https://trello.com/docs/api/checklist/index.html#post-1-checklists
|
44
44
|
def create_checklist(card_id, name, options = {})
|
45
45
|
options.update card_id: card_id, name: name
|
46
|
-
post
|
46
|
+
post "checklists", options
|
47
47
|
end
|
48
48
|
alias_method :checklist_create, :create_checklist
|
49
49
|
|
@@ -71,8 +71,8 @@ module Tacokit
|
|
71
71
|
get checklist_path(checklist_id, *paths), options
|
72
72
|
end
|
73
73
|
|
74
|
-
def checklist_path(*paths)
|
75
|
-
|
74
|
+
def checklist_path(checklist_id, *paths)
|
75
|
+
resource_path("checklists", checklist_id, *paths)
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -19,7 +19,7 @@ module Tacokit
|
|
19
19
|
#
|
20
20
|
# @see https://trello.com/docs/api/label/index.html#post-1-labels
|
21
21
|
def create_label(board_id, name, color)
|
22
|
-
post
|
22
|
+
post "labels",
|
23
23
|
board_id: board_id,
|
24
24
|
name: name,
|
25
25
|
color: color
|
@@ -34,8 +34,8 @@ module Tacokit
|
|
34
34
|
|
35
35
|
private
|
36
36
|
|
37
|
-
def label_path(*paths)
|
38
|
-
|
37
|
+
def label_path(label_id, *paths)
|
38
|
+
resource_path "labels", label_id, *paths
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
data/lib/tacokit/client/lists.rb
CHANGED
@@ -40,7 +40,7 @@ module Tacokit
|
|
40
40
|
#
|
41
41
|
# @see https://trello.com/docs/api/list/index.html#post-1-lists
|
42
42
|
def create_list(board_id, name, options = {})
|
43
|
-
post
|
43
|
+
post "lists", options.merge(name: name, board_id: board_id)
|
44
44
|
end
|
45
45
|
|
46
46
|
# Archive all cards in a list
|
@@ -70,8 +70,8 @@ module Tacokit
|
|
70
70
|
paginated_get list_path(list_id, *paths), options
|
71
71
|
end
|
72
72
|
|
73
|
-
def list_path(*paths)
|
74
|
-
|
73
|
+
def list_path(list_id, *paths)
|
74
|
+
resource_path("lists", list_id, *paths)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
@@ -5,6 +5,7 @@ module Tacokit
|
|
5
5
|
#
|
6
6
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username
|
7
7
|
def member(username = "me", options = nil)
|
8
|
+
username, options = extract_member_args(username, options)
|
8
9
|
get member_path(username), options
|
9
10
|
end
|
10
11
|
|
@@ -12,10 +13,7 @@ module Tacokit
|
|
12
13
|
#
|
13
14
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username-actions
|
14
15
|
def actions(username = "me", options = {})
|
15
|
-
|
16
|
-
username = "me"
|
17
|
-
options = username
|
18
|
-
end
|
16
|
+
username, options = extract_member_args(username, options)
|
19
17
|
paginated_get member_path(username, "actions"), options
|
20
18
|
end
|
21
19
|
alias_method :member_actions, :actions
|
@@ -24,6 +22,7 @@ module Tacokit
|
|
24
22
|
#
|
25
23
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username-boards
|
26
24
|
def boards(username = "me", options = {})
|
25
|
+
username, options = extract_member_args(username, options)
|
27
26
|
get member_path(username, "boards"), options
|
28
27
|
end
|
29
28
|
|
@@ -31,6 +30,7 @@ module Tacokit
|
|
31
30
|
#
|
32
31
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username-cards
|
33
32
|
def cards(username = "me", options = {})
|
33
|
+
username, options = extract_member_args(username, options)
|
34
34
|
get member_path(username, "cards"), options
|
35
35
|
end
|
36
36
|
|
@@ -38,6 +38,7 @@ module Tacokit
|
|
38
38
|
#
|
39
39
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username-notifications
|
40
40
|
def notifications(username = "me", options = {})
|
41
|
+
username, options = extract_member_args(username, options)
|
41
42
|
paginated_get member_path(username, "notifications"), options
|
42
43
|
end
|
43
44
|
|
@@ -45,6 +46,7 @@ module Tacokit
|
|
45
46
|
#
|
46
47
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username-organizations
|
47
48
|
def organizations(username = "me", options = {})
|
49
|
+
username, options = extract_member_args(username, options)
|
48
50
|
get member_path(username, "organizations"), options
|
49
51
|
end
|
50
52
|
|
@@ -52,6 +54,7 @@ module Tacokit
|
|
52
54
|
#
|
53
55
|
# @see https://trello.com/docs/api/member/index.html#get-1-members-idmember-or-username-tokens
|
54
56
|
def tokens(username = "me", options = {})
|
57
|
+
username, options = extract_member_args(username, options)
|
55
58
|
get member_path(username, "tokens"), options
|
56
59
|
end
|
57
60
|
|
@@ -93,8 +96,13 @@ module Tacokit
|
|
93
96
|
get(member_path(username, *paths), options)
|
94
97
|
end
|
95
98
|
|
96
|
-
def member_path(*paths)
|
97
|
-
|
99
|
+
def member_path(member_id, *paths)
|
100
|
+
resource_path("members", member_id, *paths)
|
101
|
+
end
|
102
|
+
|
103
|
+
def extract_member_args(username, options)
|
104
|
+
options, username = username, "me" if username.is_a?(Hash)
|
105
|
+
[username, options]
|
98
106
|
end
|
99
107
|
end
|
100
108
|
end
|
@@ -26,8 +26,8 @@ module Tacokit
|
|
26
26
|
get notification_path(notification_id, *paths), options
|
27
27
|
end
|
28
28
|
|
29
|
-
def notification_path(*paths)
|
30
|
-
|
29
|
+
def notification_path(notification_id, *paths)
|
30
|
+
resource_path "notifications", notification_id, *paths
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
@@ -48,7 +48,7 @@ module Tacokit
|
|
48
48
|
|
49
49
|
# POST /1/organizations
|
50
50
|
def create_organization(display_name, options = {})
|
51
|
-
post
|
51
|
+
post "organizations", options.merge(display_name: display_name)
|
52
52
|
end
|
53
53
|
|
54
54
|
# POST /1/organizations/[idOrg or name]/logo
|
@@ -65,8 +65,8 @@ module Tacokit
|
|
65
65
|
# prefs/associatedDomain
|
66
66
|
# prefs/orgInviteRestrict
|
67
67
|
|
68
|
-
def organization_path(*paths)
|
69
|
-
|
68
|
+
def organization_path(org_id, *paths)
|
69
|
+
resource_path "organizations", org_id, *paths
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
data/lib/tacokit/client/types.rb
CHANGED
@@ -22,7 +22,7 @@ module Tacokit
|
|
22
22
|
options.update \
|
23
23
|
model_id: model_id,
|
24
24
|
callback_url: callback_url
|
25
|
-
post
|
25
|
+
post "webhooks", options
|
26
26
|
end
|
27
27
|
|
28
28
|
# DELETE /1/webhooks/[idWebhook]
|
@@ -30,8 +30,10 @@ module Tacokit
|
|
30
30
|
delete webhook_path(webhook_id)
|
31
31
|
end
|
32
32
|
|
33
|
-
|
34
|
-
|
33
|
+
private
|
34
|
+
|
35
|
+
def webhook_path(webhook_id, *paths)
|
36
|
+
resource_path "webhooks", webhook_id, *paths
|
35
37
|
end
|
36
38
|
end
|
37
39
|
end
|
data/lib/tacokit/resource.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "set"
|
2
|
+
require "time"
|
2
3
|
require "forwardable"
|
3
4
|
|
4
5
|
module Tacokit
|
@@ -132,7 +133,7 @@ module Tacokit
|
|
132
133
|
# rubocop:enable Metrics/LineLength
|
133
134
|
def cast_value_type(value)
|
134
135
|
case value
|
135
|
-
when ISO8601 then
|
136
|
+
when ISO8601 then Time.parse(value)
|
136
137
|
else value
|
137
138
|
end
|
138
139
|
rescue
|
data/lib/tacokit/utils.rb
CHANGED
@@ -47,6 +47,12 @@ module Tacokit
|
|
47
47
|
paths.join("/")
|
48
48
|
end
|
49
49
|
|
50
|
+
# Returns a resource path for a given resource name and id
|
51
|
+
def resource_path(resource_name, resource_id, *paths)
|
52
|
+
resource_id = resource_id.id if resource_id.respond_to?(:id)
|
53
|
+
path_join resource_name, resource_id, *paths
|
54
|
+
end
|
55
|
+
|
50
56
|
def constantize(class_name)
|
51
57
|
Tacokit.const_get(camelize(singularize(class_name.to_s)))
|
52
58
|
rescue NameError
|
data/lib/tacokit/version.rb
CHANGED
data/spec/cassettes/Tacokit_Client_Members/_boards/returns_for_me_with_options_as_first_arg.json
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://api.trello.com/1/members/me/boards?fields=id,name&key=<TRELLO_APP_KEY>&token=<TRELLO_APP_TOKEN>","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["TacoKit 0.0.1"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Cache-Control":["max-age=0, must-revalidate, no-cache, no-store"],"X-Content-Type-Options":["nosniff"],"Strict-Transport-Security":["max-age=15768000"],"X-Xss-Protection":["1; mode=block"],"X-Frame-Options":["DENY"],"X-Trello-Version":["1.312.0"],"X-Trello-Environment":["Production"],"Set-Cookie":["dsc=43c56f9a9882af6cf69f29f215864f24d6d6e9dce0758c71fcb2c68f839fb88f; Path=/; Expires=Fri, 06 Mar 2015 13:13:18 GMT; Secure","incap_ses_163_168562=a33jAYTcOATT8vHe9hhDAm6z9VQAAAAALJvM/O4QBMrTc6RBHXaH9g==; path=/; Domain=.trello.com","visid_incap_168562=FEPEM1XqRVGO4v4AmmJ83W6z9VQAAAAAQUIPAAAAAADeFcSkcw3T1urZi0NBCmGf; expires=Thu, 02 Mar 2017 04:02:38 GMT; path=/; Domain=.trello.com"],"X-Server-Time":["1425388398577"],"Expires":["Thu, 01 Jan 1970 00:00:00"],"Content-Type":["application/json; charset=utf-8"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Methods":["GET, PUT, POST, DELETE"],"Content-Length":["548"],"Etag":["W/\"224-13588f04\""],"Vary":["Accept-Encoding"],"Date":["Tue, 03 Mar 2015 13:13:18 GMT"],"X-Iinfo":["8-32517542-32514495 PNNY RT(1425388398048 40) q(0 0 0 -1) r(1 1)"],"X-Cdn":["Incapsula"]},"body":{"encoding":"UTF-8","base64_string":"W3sibmFtZSI6IkFsdGVybmF0ZSBUZXN0IEJvYXJkIiwiaWQiOiI1NGYzNzFi\nNDA4Njc4MWUxYTcxYjYxMTEifSx7Im5hbWUiOiJBdXRvYm9hcmQiLCJpZCI6\nIjU0OTI0ZDAyM2VjOTA4NzBlOTExOTQ2ZCJ9LHsibmFtZSI6IkF1dG9ib2Fy\nZCIsImlkIjoiNTQ5MjYzYjI1MTBmZmEzYjM5YTMyM2E4In0seyJuYW1lIjoi\nQXV0b2JvYXJkIiwiaWQiOiI1NDkyNjNlNTE2ZGQzYWMwNmRhODA0MzcifSx7\nIm5hbWUiOiJBdXRvYm9hcmQiLCJpZCI6IjU0OTI2NDNlYzMxYzZmNGIzOTJi\nMmM4NCJ9LHsibmFtZSI6IkF1dG9ib2FyZCIsImlkIjoiNTQ5MjY0NjhhYWQz\nMDg4YjM4MWZjNTNjIn0seyJuYW1lIjoiQXV0b2JvYXJkIiwiaWQiOiI1NGIz\nZDg1YzE5Y2E5MmJjM2E3OThkNDAifSx7Im5hbWUiOiJUZXN0IEJvYXJkIiwi\naWQiOiI1NDhhNjc1NTgxZDFkNjY5YzllODE4NGUifSx7Im5hbWUiOiJXZWxj\nb21lIEJvYXJkIiwiaWQiOiI1NDhhNjY5NmIzYjk5MThiZWIxNDRiMDgifSx7\nIm5hbWUiOiJ0YWNva2l0LnJiIiwiaWQiOiI1NDk2YzJhNTkzOTAxYzJlYjNh\nZjViYzYifV0=\n"},"http_version":null},"recorded_at":"Tue, 03 Mar 2015 13:13:18 GMT"}],"recorded_with":"VCR 2.9.3"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://api.trello.com/1/members/me?key=<TRELLO_APP_KEY>&token=<TRELLO_APP_TOKEN>","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["TacoKit 0.0.1"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Cache-Control":["max-age=0, must-revalidate, no-cache, no-store"],"X-Content-Type-Options":["nosniff"],"Strict-Transport-Security":["max-age=15768000"],"X-Xss-Protection":["1; mode=block"],"X-Frame-Options":["DENY"],"X-Trello-Version":["1.312.0"],"X-Trello-Environment":["Production"],"Set-Cookie":["___utmvaaVussFI=RTI\u0001AVfy; path=/; Max-Age=900","___utmvbaVussFI=sZm XVEOJaln: Ktb; path=/; Max-Age=900","___utmvmaVussFI=JoPvQtLqPBZ; path=/; Max-Age=900","dsc=ed61a76bcbf052b71794a5daa2eb1765e8e6e4a7c2708609d7985a5a2c684369; Path=/; Expires=Fri, 06 Mar 2015 13:24:08 GMT; Secure","incap_ses_239_168562=X4MjP7cfoWQOaEpFRRpRA/e19VQAAAAAAcI6p+79t76s16MJEsuLUw==; path=/; Domain=.trello.com","visid_incap_168562=hJZvf+9sTauudoQGc9ulJve19VQAAAAAQUIPAAAAAACme3ezr5PSsLIyezkqouW0; expires=Thu, 02 Mar 2017 12:25:26 GMT; path=/; Domain=.trello.com"],"X-Server-Time":["1425389048030"],"Expires":["Thu, 01 Jan 1970 00:00:00"],"Content-Type":["application/json; charset=utf-8"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Methods":["GET, PUT, POST, DELETE"],"Etag":["W/\"dZaj8rqSe4i6CuvclEsNWw==\""],"Vary":["Accept-Encoding"],"Date":["Tue, 03 Mar 2015 13:24:08 GMT"],"Transfer-Encoding":["chunked"],"X-Iinfo":["7-9498078-9498082 NNNN CT(13 13 0) RT(1425389046995 86) q(0 0 1 0) r(1 1)"],"X-Cdn":["Incapsula"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6IjU0OGE2Njk2YjNiOTkxOGJlYjE0NGIwNyIsImF2YXRhckhhc2gi\nOiJjYjBkZjQ1MDU1YmFjODRlN2M1ZmI3MjhlMDBlMjAxNSIsImJpbyI6IlRh\nY29raXQgcHV0cyB0aGUgVHJlbGxvIEFQSSBvbiBSdWJ5IiwiYmlvRGF0YSI6\neyJlbW9qaSI6e319LCJjb25maXJtZWQiOnRydWUsImZ1bGxOYW1lIjoiVGFj\nbyBLaXQiLCJpZFByZW1PcmdzQWRtaW4iOltdLCJpbml0aWFscyI6IlRLIiwi\nbWVtYmVyVHlwZSI6Im5vcm1hbCIsInByb2R1Y3RzIjpbXSwic3RhdHVzIjoi\naWRsZSIsInVybCI6Imh0dHBzOi8vdHJlbGxvLmNvbS90YWNva2l0IiwidXNl\ncm5hbWUiOiJ0YWNva2l0IiwiYXZhdGFyU291cmNlIjoidXBsb2FkIiwiZW1h\naWwiOiJyb3Nza2FmZit0YWNvc2hlbGxAZ21haWwuY29tIiwiZ3JhdmF0YXJI\nYXNoIjoiOTliYTVmNjhkYTQ4YzdjMzU3MDM2ZjFlMDgzZGEzNzUiLCJpZEJv\nYXJkcyI6WyI1NDhhNjY5NmIzYjk5MThiZWIxNDRiMDgiLCI1NDhhNjc1NTgx\nZDFkNjY5YzllODE4NGUiLCI1NDkyNGQwMjNlYzkwODcwZTkxMTk0NmQiLCI1\nNDkyNjNiMjUxMGZmYTNiMzlhMzIzYTgiLCI1NDkyNjNlNTE2ZGQzYWMwNmRh\nODA0MzciLCI1NDkyNjQzZWMzMWM2ZjRiMzkyYjJjODQiLCI1NDkyNjQ2OGFh\nZDMwODhiMzgxZmM1M2MiLCI1NDk2YzJhNTkzOTAxYzJlYjNhZjViYzYiLCI1\nNGIzZDg1YzE5Y2E5MmJjM2E3OThkNDAiLCI1NGYzNzFiNDA4Njc4MWUxYTcx\nYjYxMTEiXSwiaWRPcmdhbml6YXRpb25zIjpbIjU0OGUzMGU5NjgzZTE5MjNm\nNjc2YmEyMCJdLCJsb2dpblR5cGVzIjpbInBhc3N3b3JkIl0sIm9uZVRpbWVN\nZXNzYWdlc0Rpc21pc3NlZCI6W10sInByZWZzIjp7ImNvbG9yQmxpbmQiOnRy\ndWUsIm1pbnV0ZXNCZWZvcmVEZWFkbGluZVRvTm90aWZ5IjoxNDQwLCJtaW51\ndGVzQmV0d2VlblN1bW1hcmllcyI6MSwic2VuZFN1bW1hcmllcyI6dHJ1ZX0s\nInRyb3BoaWVzIjpbXSwidXBsb2FkZWRBdmF0YXJIYXNoIjoiY2IwZGY0NTA1\nNWJhYzg0ZTdjNWZiNzI4ZTAwZTIwMTUiLCJwcmVtaXVtRmVhdHVyZXMiOltd\nLCJpZEJvYXJkc1Bpbm5lZCI6bnVsbH0=\n"},"http_version":null},"recorded_at":"Tue, 03 Mar 2015 13:24:07 GMT"},{"request":{"method":"get","uri":"https://api.trello.com/1/members/me?key=<TRELLO_APP_KEY>&token=<TRELLO_APP_TOKEN>","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["TacoKit 0.0.1"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Cache-Control":["max-age=0, must-revalidate, no-cache, no-store"],"X-Content-Type-Options":["nosniff"],"Strict-Transport-Security":["max-age=15768000"],"X-Xss-Protection":["1; mode=block"],"X-Frame-Options":["DENY"],"X-Trello-Version":["1.312.0"],"X-Trello-Environment":["Production"],"Set-Cookie":["___utmvaaVussFI=zSQ\u0001peNs; path=/; Max-Age=900","___utmvbaVussFI=bZY XQMOLale: ttv; path=/; Max-Age=900","___utmvmaVussFI=OdPZvPOyTxm; path=/; Max-Age=900","dsc=28e1e3f47172ae711d200c60d357e5426e50fc3c765c24b660b9cc37189c7b68; Path=/; Expires=Fri, 06 Mar 2015 13:24:08 GMT; Secure","incap_ses_239_168562=K9iLAMWblBcOaEpFRRpRA/e19VQAAAAAChHf0aPLJL4cm4En1TJuNg==; path=/; Domain=.trello.com","visid_incap_168562=hJZvf+9sTauudoQGc9ulJve19VQAAAAAQUIPAAAAAACme3ezr5PSsLIyezkqouW0; expires=Thu, 02 Mar 2017 12:25:26 GMT; path=/; Domain=.trello.com"],"X-Server-Time":["1425389048265"],"Expires":["Thu, 01 Jan 1970 00:00:00"],"Content-Type":["application/json; charset=utf-8"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Methods":["GET, PUT, POST, DELETE"],"Etag":["W/\"dZaj8rqSe4i6CuvclEsNWw==\""],"Vary":["Accept-Encoding"],"Date":["Tue, 03 Mar 2015 13:24:08 GMT"],"Transfer-Encoding":["chunked"],"X-Iinfo":["10-29357731-29357198 PNNN RT(1425389047254 92) q(0 0 0 0) r(0 0) U10000"],"X-Cdn":["Incapsula"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6IjU0OGE2Njk2YjNiOTkxOGJlYjE0NGIwNyIsImF2YXRhckhhc2gi\nOiJjYjBkZjQ1MDU1YmFjODRlN2M1ZmI3MjhlMDBlMjAxNSIsImJpbyI6IlRh\nY29raXQgcHV0cyB0aGUgVHJlbGxvIEFQSSBvbiBSdWJ5IiwiYmlvRGF0YSI6\neyJlbW9qaSI6e319LCJjb25maXJtZWQiOnRydWUsImZ1bGxOYW1lIjoiVGFj\nbyBLaXQiLCJpZFByZW1PcmdzQWRtaW4iOltdLCJpbml0aWFscyI6IlRLIiwi\nbWVtYmVyVHlwZSI6Im5vcm1hbCIsInByb2R1Y3RzIjpbXSwic3RhdHVzIjoi\naWRsZSIsInVybCI6Imh0dHBzOi8vdHJlbGxvLmNvbS90YWNva2l0IiwidXNl\ncm5hbWUiOiJ0YWNva2l0IiwiYXZhdGFyU291cmNlIjoidXBsb2FkIiwiZW1h\naWwiOiJyb3Nza2FmZit0YWNvc2hlbGxAZ21haWwuY29tIiwiZ3JhdmF0YXJI\nYXNoIjoiOTliYTVmNjhkYTQ4YzdjMzU3MDM2ZjFlMDgzZGEzNzUiLCJpZEJv\nYXJkcyI6WyI1NDhhNjY5NmIzYjk5MThiZWIxNDRiMDgiLCI1NDhhNjc1NTgx\nZDFkNjY5YzllODE4NGUiLCI1NDkyNGQwMjNlYzkwODcwZTkxMTk0NmQiLCI1\nNDkyNjNiMjUxMGZmYTNiMzlhMzIzYTgiLCI1NDkyNjNlNTE2ZGQzYWMwNmRh\nODA0MzciLCI1NDkyNjQzZWMzMWM2ZjRiMzkyYjJjODQiLCI1NDkyNjQ2OGFh\nZDMwODhiMzgxZmM1M2MiLCI1NDk2YzJhNTkzOTAxYzJlYjNhZjViYzYiLCI1\nNGIzZDg1YzE5Y2E5MmJjM2E3OThkNDAiLCI1NGYzNzFiNDA4Njc4MWUxYTcx\nYjYxMTEiXSwiaWRPcmdhbml6YXRpb25zIjpbIjU0OGUzMGU5NjgzZTE5MjNm\nNjc2YmEyMCJdLCJsb2dpblR5cGVzIjpbInBhc3N3b3JkIl0sIm9uZVRpbWVN\nZXNzYWdlc0Rpc21pc3NlZCI6W10sInByZWZzIjp7ImNvbG9yQmxpbmQiOnRy\ndWUsIm1pbnV0ZXNCZWZvcmVEZWFkbGluZVRvTm90aWZ5IjoxNDQwLCJtaW51\ndGVzQmV0d2VlblN1bW1hcmllcyI6MSwic2VuZFN1bW1hcmllcyI6dHJ1ZX0s\nInRyb3BoaWVzIjpbXSwidXBsb2FkZWRBdmF0YXJIYXNoIjoiY2IwZGY0NTA1\nNWJhYzg0ZTdjNWZiNzI4ZTAwZTIwMTUiLCJwcmVtaXVtRmVhdHVyZXMiOltd\nLCJpZEJvYXJkc1Bpbm5lZCI6bnVsbH0=\n"},"http_version":null},"recorded_at":"Tue, 03 Mar 2015 13:24:07 GMT"},{"request":{"method":"get","uri":"https://api.trello.com/1/members/548a6696b3b9918beb144b07?key=<TRELLO_APP_KEY>&token=<TRELLO_APP_TOKEN>","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["TacoKit 0.0.1"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Cache-Control":["max-age=0, must-revalidate, no-cache, no-store"],"X-Content-Type-Options":["nosniff"],"Strict-Transport-Security":["max-age=15768000"],"X-Xss-Protection":["1; mode=block"],"X-Frame-Options":["DENY"],"X-Trello-Version":["1.312.0"],"X-Trello-Environment":["Production"],"Set-Cookie":["___utmvaaVussFI=gLh\u0001eSKt; path=/; Max-Age=900","___utmvbaVussFI=AZQ XppOtalu: LtP; path=/; Max-Age=900","___utmvmaVussFI=BQgzAGPyNyj; path=/; Max-Age=900","dsc=630ec5ee40512aa30a8e0e3dabc7ba2bbf1a35e7a4197b0355c4923d2b6e2129; Path=/; Expires=Fri, 06 Mar 2015 13:24:08 GMT; Secure","incap_ses_239_168562=ieYRcPp3NVMOaEpFRRpRA/e19VQAAAAAb0f9ZBtpuXRjY4hndhsaUA==; path=/; Domain=.trello.com","visid_incap_168562=hJZvf+9sTauudoQGc9ulJve19VQAAAAAQUIPAAAAAACme3ezr5PSsLIyezkqouW0; expires=Thu, 02 Mar 2017 12:25:26 GMT; path=/; Domain=.trello.com"],"X-Server-Time":["1425389048493"],"Expires":["Thu, 01 Jan 1970 00:00:00"],"Content-Type":["application/json; charset=utf-8"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Methods":["GET, PUT, POST, DELETE"],"Etag":["W/\"dZaj8rqSe4i6CuvclEsNWw==\""],"Vary":["Accept-Encoding"],"Date":["Tue, 03 Mar 2015 13:24:08 GMT"],"Transfer-Encoding":["chunked"],"X-Iinfo":["7-9498096-9498082 PNNN RT(1425389047484 82) q(0 0 0 0) r(1 1)"],"X-Cdn":["Incapsula"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6IjU0OGE2Njk2YjNiOTkxOGJlYjE0NGIwNyIsImF2YXRhckhhc2gi\nOiJjYjBkZjQ1MDU1YmFjODRlN2M1ZmI3MjhlMDBlMjAxNSIsImJpbyI6IlRh\nY29raXQgcHV0cyB0aGUgVHJlbGxvIEFQSSBvbiBSdWJ5IiwiYmlvRGF0YSI6\neyJlbW9qaSI6e319LCJjb25maXJtZWQiOnRydWUsImZ1bGxOYW1lIjoiVGFj\nbyBLaXQiLCJpZFByZW1PcmdzQWRtaW4iOltdLCJpbml0aWFscyI6IlRLIiwi\nbWVtYmVyVHlwZSI6Im5vcm1hbCIsInByb2R1Y3RzIjpbXSwic3RhdHVzIjoi\naWRsZSIsInVybCI6Imh0dHBzOi8vdHJlbGxvLmNvbS90YWNva2l0IiwidXNl\ncm5hbWUiOiJ0YWNva2l0IiwiYXZhdGFyU291cmNlIjoidXBsb2FkIiwiZW1h\naWwiOiJyb3Nza2FmZit0YWNvc2hlbGxAZ21haWwuY29tIiwiZ3JhdmF0YXJI\nYXNoIjoiOTliYTVmNjhkYTQ4YzdjMzU3MDM2ZjFlMDgzZGEzNzUiLCJpZEJv\nYXJkcyI6WyI1NDhhNjY5NmIzYjk5MThiZWIxNDRiMDgiLCI1NDhhNjc1NTgx\nZDFkNjY5YzllODE4NGUiLCI1NDkyNGQwMjNlYzkwODcwZTkxMTk0NmQiLCI1\nNDkyNjNiMjUxMGZmYTNiMzlhMzIzYTgiLCI1NDkyNjNlNTE2ZGQzYWMwNmRh\nODA0MzciLCI1NDkyNjQzZWMzMWM2ZjRiMzkyYjJjODQiLCI1NDkyNjQ2OGFh\nZDMwODhiMzgxZmM1M2MiLCI1NDk2YzJhNTkzOTAxYzJlYjNhZjViYzYiLCI1\nNGIzZDg1YzE5Y2E5MmJjM2E3OThkNDAiLCI1NGYzNzFiNDA4Njc4MWUxYTcx\nYjYxMTEiXSwiaWRPcmdhbml6YXRpb25zIjpbIjU0OGUzMGU5NjgzZTE5MjNm\nNjc2YmEyMCJdLCJsb2dpblR5cGVzIjpbInBhc3N3b3JkIl0sIm9uZVRpbWVN\nZXNzYWdlc0Rpc21pc3NlZCI6W10sInByZWZzIjp7ImNvbG9yQmxpbmQiOnRy\ndWUsIm1pbnV0ZXNCZWZvcmVEZWFkbGluZVRvTm90aWZ5IjoxNDQwLCJtaW51\ndGVzQmV0d2VlblN1bW1hcmllcyI6MSwic2VuZFN1bW1hcmllcyI6dHJ1ZX0s\nInRyb3BoaWVzIjpbXSwidXBsb2FkZWRBdmF0YXJIYXNoIjoiY2IwZGY0NTA1\nNWJhYzg0ZTdjNWZiNzI4ZTAwZTIwMTUiLCJwcmVtaXVtRmVhdHVyZXMiOltd\nLCJpZEJvYXJkc1Bpbm5lZCI6bnVsbH0=\n"},"http_version":null},"recorded_at":"Tue, 03 Mar 2015 13:24:07 GMT"}],"recorded_with":"VCR 2.9.3"}
|
@@ -15,6 +15,14 @@ describe Tacokit::Client::Members do
|
|
15
15
|
expect(member.full_name).to eq("Taco Kit")
|
16
16
|
end
|
17
17
|
|
18
|
+
it "accepts a resource" do
|
19
|
+
member = app_client.member
|
20
|
+
|
21
|
+
member = app_client.member(member)
|
22
|
+
|
23
|
+
expect(member.full_name).to eq("Taco Kit")
|
24
|
+
end
|
25
|
+
|
18
26
|
it "supports query fields as string or array" do
|
19
27
|
member = app_client.member "tacokit",
|
20
28
|
boards: "all",
|
@@ -65,6 +73,15 @@ describe Tacokit::Client::Members do
|
|
65
73
|
|
66
74
|
assert_requested :get, trello_url_template("members/tacokit/boards{?key,token}")
|
67
75
|
end
|
76
|
+
|
77
|
+
it "returns for 'me' with options as first arg" do
|
78
|
+
boards = app_client.boards(fields: %w[id name])
|
79
|
+
|
80
|
+
expect(boards).not_to be_empty
|
81
|
+
|
82
|
+
board = boards.first
|
83
|
+
expect(board.name).to be_present
|
84
|
+
end
|
68
85
|
end
|
69
86
|
|
70
87
|
describe "#cards", :vcr do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tacokit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ross Kaffenberger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -258,8 +258,10 @@ files:
|
|
258
258
|
- spec/cassettes/Tacokit_Client_Lists/_update_list/updates_a_list.json
|
259
259
|
- spec/cassettes/Tacokit_Client_Members/_actions/returns_member_actions.json
|
260
260
|
- spec/cassettes/Tacokit_Client_Members/_board_stars/returns_member_board_stars.json
|
261
|
+
- spec/cassettes/Tacokit_Client_Members/_boards/returns_for_me_with_options_as_first_arg.json
|
261
262
|
- spec/cassettes/Tacokit_Client_Members/_boards/returns_member_boards.json
|
262
263
|
- spec/cassettes/Tacokit_Client_Members/_cards/returns_member_cards.json
|
264
|
+
- spec/cassettes/Tacokit_Client_Members/_member/accepts_a_resource.json
|
263
265
|
- spec/cassettes/Tacokit_Client_Members/_member/authenticated/returns_self.json
|
264
266
|
- spec/cassettes/Tacokit_Client_Members/_member/returns_a_member.json
|
265
267
|
- spec/cassettes/Tacokit_Client_Members/_member/returns_self.json
|
@@ -477,8 +479,10 @@ test_files:
|
|
477
479
|
- spec/cassettes/Tacokit_Client_Lists/_update_list/updates_a_list.json
|
478
480
|
- spec/cassettes/Tacokit_Client_Members/_actions/returns_member_actions.json
|
479
481
|
- spec/cassettes/Tacokit_Client_Members/_board_stars/returns_member_board_stars.json
|
482
|
+
- spec/cassettes/Tacokit_Client_Members/_boards/returns_for_me_with_options_as_first_arg.json
|
480
483
|
- spec/cassettes/Tacokit_Client_Members/_boards/returns_member_boards.json
|
481
484
|
- spec/cassettes/Tacokit_Client_Members/_cards/returns_member_cards.json
|
485
|
+
- spec/cassettes/Tacokit_Client_Members/_member/accepts_a_resource.json
|
482
486
|
- spec/cassettes/Tacokit_Client_Members/_member/authenticated/returns_self.json
|
483
487
|
- spec/cassettes/Tacokit_Client_Members/_member/returns_a_member.json
|
484
488
|
- spec/cassettes/Tacokit_Client_Members/_member/returns_self.json
|