troo 0.0.9 → 0.0.10
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 +2 -2
- data/Gemfile.lock +40 -32
- data/Guardfile +9 -1
- data/README.md +15 -10
- data/bin/troo +22 -2
- data/config/en.yml +11 -1
- data/config/help +16 -0
- data/{.trooconf.example → config/trooconf.yml} +4 -2
- data/features/add/card.feature +1 -1
- data/features/add/comment.feature +1 -1
- data/features/add/list.feature +1 -1
- data/features/default/board.feature +1 -1
- data/features/default/card.feature +1 -1
- data/features/default/list.feature +1 -1
- data/features/move/card.feature +5 -5
- data/features/refresh/board.feature +1 -1
- data/features/refresh/card.feature +1 -1
- data/features/refresh/list.feature +1 -1
- data/features/show/board.feature +11 -3
- data/features/show/boards.feature +1 -0
- data/features/show/card.feature +7 -7
- data/features/show/comment.feature +15 -6
- data/features/show/list.feature +3 -1
- data/features/status.feature +2 -2
- data/features/step_definitions/fabrication_steps.rb +11 -11
- data/features/step_definitions/troo_steps.rb +1 -1
- data/features/support/cassettes/200_board_by_id.yml +56 -0
- data/features/support/cassettes/200_card_by_id.yml +77 -0
- data/features/support/cassettes/200_create_board.yml +186 -0
- data/features/support/cassettes/200_create_card.yml +86 -0
- data/features/support/cassettes/200_create_comment.yml +73 -0
- data/features/support/cassettes/200_create_list.yml +53 -0
- data/{test/cassettes/list_by_id.yml → features/support/cassettes/200_list_by_id.yml} +6 -6
- data/features/support/cassettes/200_move_card_200_board.yml +86 -0
- data/features/support/cassettes/200_move_card_200_list.yml +86 -0
- data/features/support/cassettes/200_move_card_400_list.yml +46 -0
- data/{test/cassettes/lists_by_board_id.yml → features/support/cassettes/400_board_by_id.yml} +10 -10
- data/features/support/cassettes/400_card_by_id.yml +46 -0
- data/features/support/cassettes/400_create_card.yml +46 -0
- data/features/support/cassettes/400_create_comment.yml +46 -0
- data/features/support/cassettes/400_create_list.yml +46 -0
- data/features/support/cassettes/400_list_by_id.yml +46 -0
- data/features/support/cassettes/400_move_card_200_list.yml +46 -0
- data/features/support/cassettes/400_move_card_400_board.yml +46 -0
- data/features/support/cassettes/boards_all.yml +286 -0
- data/features/support/env.rb +1 -2
- data/lib/troo/cli/commands/refresh/all.rb +2 -0
- data/lib/troo/cli/main.rb +2 -23
- data/lib/troo/configuration.rb +5 -0
- data/lib/troo/database.rb +29 -0
- data/lib/troo/decorators/resource.rb +24 -10
- data/lib/troo/helpers/model_helpers.rb +3 -2
- data/lib/troo/models/board.rb +1 -1
- data/lib/troo/models/card.rb +1 -1
- data/lib/troo/models/comment.rb +0 -4
- data/lib/troo/models/list.rb +1 -1
- data/lib/troo/presentation/formatter.rb +99 -4
- data/lib/troo/presentation/template.rb +8 -9
- data/lib/troo/presenters/board.rb +24 -26
- data/lib/troo/presenters/card.rb +3 -1
- data/lib/troo/presenters/list.rb +30 -17
- data/lib/troo/presenters/resource.rb +90 -0
- data/lib/troo/retrieval/local.rb +5 -1
- data/lib/troo/troo.rb +2 -0
- data/lib/troo/version.rb +1 -1
- data/lib/troo.rb +7 -4
- data/test/cassettes/create_board.yml +15 -9
- data/test/cassettes/create_card.yml +10 -10
- data/test/cassettes/create_comment.yml +9 -9
- data/test/cassettes/create_list.yml +5 -5
- data/test/cassettes/move_card_board.yml +11 -11
- data/test/cassettes/move_card_list.yml +11 -11
- data/test/lib/troo/api/endpoints_test.rb +2 -2
- data/test/lib/troo/cli/commands/add_test.rb +2 -2
- data/test/lib/troo/cli/commands/refresh/all_test.rb +4 -9
- data/test/lib/troo/cli/main_test.rb +0 -25
- data/test/lib/troo/configuration_test.rb +18 -13
- data/test/lib/troo/decorators/member_test.rb +0 -27
- data/test/lib/troo/decorators/resource_test.rb +0 -32
- data/test/lib/troo/helpers/model_helpers_test.rb +15 -3
- data/test/lib/troo/models/board_test.rb +45 -1
- data/test/lib/troo/models/card_test.rb +60 -6
- data/test/lib/troo/models/comment_test.rb +44 -4
- data/test/lib/troo/models/database_test.rb +19 -0
- data/test/lib/troo/models/list_test.rb +46 -2
- data/test/lib/troo/models/member_test.rb +51 -1
- data/test/lib/troo/presentation/formatter_test.rb +54 -2
- data/test/lib/troo/presentation/template_test.rb +4 -4
- data/test/lib/troo/presenters/board_test.rb +4 -3
- data/test/lib/troo/presenters/list_test.rb +3 -3
- data/test/lib/troo/presenters/member_test.rb +1 -1
- data/test/lib/troo/presenters/resource_test.rb +79 -0
- data/test/lib/troo/remote/board_test.rb +5 -8
- data/test/lib/troo/remote/card_test.rb +7 -11
- data/test/lib/troo/remote/comment_test.rb +10 -14
- data/test/lib/troo/remote/list_test.rb +5 -9
- data/test/lib/troo/remote/member_test.rb +5 -9
- data/test/lib/troo/remote/persistence/card_test.rb +1 -1
- data/test/lib/troo/remote/persistence/comment_test.rb +1 -1
- data/test/lib/troo/remote/persistence/list_test.rb +1 -1
- data/test/lib/troo/remote/persistence/move_card_test.rb +3 -3
- data/test/lib/troo/retrieval/local_test.rb +13 -1
- data/test/lib/troo/retrieval/remote_test.rb +1 -1
- data/test/support/fabrication.rb +12 -12
- data/test/support/fake_trello/fake_response.rb +18 -1
- data/test/support/fake_trello/server.rb +2 -0
- data/test/support/remotes/all_boards.json +103 -4
- data/test/support/remotes/{board.json → all_boards_200.json} +13 -13
- data/test/support/remotes/board_200.json +140 -0
- data/test/support/remotes/board_by_id.json +9 -9
- data/test/support/remotes/board_by_id_200.json +75 -0
- data/test/support/remotes/card.json +4 -4
- data/test/support/remotes/card_200.json +40 -0
- data/test/support/remotes/card_by_card_id.json +64 -64
- data/test/support/remotes/card_by_card_id_200.json +302 -0
- data/test/support/remotes/comment.json +6 -6
- data/test/support/remotes/comment_200.json +27 -0
- data/test/support/remotes/create_board.json +1 -1
- data/test/support/remotes/create_board_200.json +38 -0
- data/test/support/remotes/list.json +2 -2
- data/test/support/remotes/list_200.json +7 -0
- data/test/support/remotes/member.json +4 -4
- data/test/support/remotes/member_200.json +50 -0
- data/test/test_helper.rb +9 -2
- data/troo.gemspec +4 -3
- metadata +92 -41
- data/test/cassettes/board_by_id.yml +0 -50
- data/test/cassettes/boards_all.yml +0 -50
- data/test/cassettes/card_by_id.yml +0 -49
- data/test/cassettes/cards_by_board_id.yml +0 -49
- data/test/cassettes/cards_by_list_id.yml +0 -49
- data/test/cassettes/comments_by_board_id.yml +0 -49
- data/test/cassettes/comments_by_card_id.yml +0 -49
- data/test/cassettes/member_by_id.yml +0 -48
- data/test/cassettes/members_by_board_id.yml +0 -48
- data/test/lib/troo/decorators/card_test.rb +0 -113
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"id": "
|
2
|
+
"id": "20010",
|
3
3
|
"name": "My Test Board",
|
4
4
|
"desc": "A very brief description...",
|
5
5
|
"descData": null,
|
@@ -37,14 +37,14 @@
|
|
37
37
|
},
|
38
38
|
"cards": [
|
39
39
|
{
|
40
|
-
"id": "
|
40
|
+
"id": "20020",
|
41
41
|
"checkItemStates": [],
|
42
42
|
"closed": true,
|
43
43
|
"dateLastActivity": "2013-10-27T22:10:19.584Z",
|
44
44
|
"desc": "",
|
45
45
|
"descData": null,
|
46
|
-
"idBoard": "
|
47
|
-
"idList": "
|
46
|
+
"idBoard": "20010",
|
47
|
+
"idList": "20040",
|
48
48
|
"idMembersVoted": [],
|
49
49
|
"idShort": 1,
|
50
50
|
"idAttachmentCover": null,
|
@@ -73,14 +73,14 @@
|
|
73
73
|
"url": "<Trello URL>"
|
74
74
|
},
|
75
75
|
{
|
76
|
-
"id": "
|
76
|
+
"id": "20021",
|
77
77
|
"checkItemStates": [],
|
78
78
|
"closed": false,
|
79
79
|
"dateLastActivity": "2014-02-07T19:39:15.075Z",
|
80
80
|
"desc": "A description to get us started.",
|
81
81
|
"descData": null,
|
82
|
-
"idBoard": "
|
83
|
-
"idList": "
|
82
|
+
"idBoard": "20010",
|
83
|
+
"idList": "20040",
|
84
84
|
"idMembersVoted": [],
|
85
85
|
"idShort": 27,
|
86
86
|
"idAttachmentCover": null,
|
@@ -111,8 +111,8 @@
|
|
111
111
|
],
|
112
112
|
"members": [
|
113
113
|
{
|
114
|
-
"id": "
|
115
|
-
"avatarHash": "
|
114
|
+
"id": "20050",
|
115
|
+
"avatarHash": "20001",
|
116
116
|
"initials": "GL",
|
117
117
|
"fullName": "Gavin Laking",
|
118
118
|
"username": "gavinlaking1",
|
@@ -121,18 +121,18 @@
|
|
121
121
|
],
|
122
122
|
"lists": [
|
123
123
|
{
|
124
|
-
"id": "
|
124
|
+
"id": "20040",
|
125
125
|
"name": "My New List",
|
126
126
|
"closed": true,
|
127
|
-
"idBoard": "
|
127
|
+
"idBoard": "20010",
|
128
128
|
"pos": 256,
|
129
129
|
"subscribed": false
|
130
130
|
},
|
131
131
|
{
|
132
|
-
"id": "
|
132
|
+
"id": "20041",
|
133
133
|
"name": "My New List",
|
134
134
|
"closed": true,
|
135
|
-
"idBoard": "
|
135
|
+
"idBoard": "20010",
|
136
136
|
"pos": 512,
|
137
137
|
"subscribed": false
|
138
138
|
}
|
@@ -0,0 +1,140 @@
|
|
1
|
+
{
|
2
|
+
"id": "20010",
|
3
|
+
"name": "My Test Board",
|
4
|
+
"desc": "A very brief description...",
|
5
|
+
"descData": null,
|
6
|
+
"closed": false,
|
7
|
+
"idOrganization": null,
|
8
|
+
"pinned": true,
|
9
|
+
"url": "<Trello URL>",
|
10
|
+
"shortUrl": "<Trello URL>",
|
11
|
+
"prefs": {
|
12
|
+
"permissionLevel": "private",
|
13
|
+
"voting": "disabled",
|
14
|
+
"comments": "members",
|
15
|
+
"invitations": "members",
|
16
|
+
"selfJoin": false,
|
17
|
+
"cardCovers": true,
|
18
|
+
"cardAging": "regular",
|
19
|
+
"background": "blue",
|
20
|
+
"backgroundColor": "#23719F",
|
21
|
+
"backgroundImage": null,
|
22
|
+
"backgroundImageScaled": null,
|
23
|
+
"backgroundTile": false,
|
24
|
+
"backgroundBrightness": "unknown",
|
25
|
+
"canBePublic": true,
|
26
|
+
"canBeOrg": true,
|
27
|
+
"canBePrivate": true,
|
28
|
+
"canInvite": true
|
29
|
+
},
|
30
|
+
"labelNames": {
|
31
|
+
"yellow": "Analysis Complete",
|
32
|
+
"red": "",
|
33
|
+
"purple": "",
|
34
|
+
"orange": "",
|
35
|
+
"green": "Ready to Pull",
|
36
|
+
"blue": ""
|
37
|
+
},
|
38
|
+
"cards": [
|
39
|
+
{
|
40
|
+
"id": "20020",
|
41
|
+
"checkItemStates": [],
|
42
|
+
"closed": true,
|
43
|
+
"dateLastActivity": "2013-10-27T22:10:19.584Z",
|
44
|
+
"desc": "",
|
45
|
+
"descData": null,
|
46
|
+
"idBoard": "20010",
|
47
|
+
"idList": "20040",
|
48
|
+
"idMembersVoted": [],
|
49
|
+
"idShort": 1,
|
50
|
+
"idAttachmentCover": null,
|
51
|
+
"manualCoverAttachment": false,
|
52
|
+
"name": "Command: config",
|
53
|
+
"pos": 327679,
|
54
|
+
"shortLink": "1G0cGaRV",
|
55
|
+
"badges": {
|
56
|
+
"votes": 0,
|
57
|
+
"viewingMemberVoted": false,
|
58
|
+
"subscribed": false,
|
59
|
+
"fogbugz": "",
|
60
|
+
"checkItems": 0,
|
61
|
+
"checkItemsChecked": 0,
|
62
|
+
"comments": 0,
|
63
|
+
"attachments": 0,
|
64
|
+
"description": false,
|
65
|
+
"due": null
|
66
|
+
},
|
67
|
+
"due": null,
|
68
|
+
"idChecklists": [],
|
69
|
+
"idMembers": [],
|
70
|
+
"labels": [],
|
71
|
+
"shortUrl": "<Trello URL>",
|
72
|
+
"subscribed": false,
|
73
|
+
"url": "<Trello URL>"
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"id": "20021",
|
77
|
+
"checkItemStates": [],
|
78
|
+
"closed": false,
|
79
|
+
"dateLastActivity": "2014-02-07T19:39:15.075Z",
|
80
|
+
"desc": "A description to get us started.",
|
81
|
+
"descData": null,
|
82
|
+
"idBoard": "20010",
|
83
|
+
"idList": "20040",
|
84
|
+
"idMembersVoted": [],
|
85
|
+
"idShort": 27,
|
86
|
+
"idAttachmentCover": null,
|
87
|
+
"manualCoverAttachment": false,
|
88
|
+
"name": "My New Card",
|
89
|
+
"pos": 606207,
|
90
|
+
"shortLink": "OMnSslgP",
|
91
|
+
"badges": {
|
92
|
+
"votes": 0,
|
93
|
+
"viewingMemberVoted": false,
|
94
|
+
"subscribed": false,
|
95
|
+
"fogbugz": "",
|
96
|
+
"checkItems": 0,
|
97
|
+
"checkItemsChecked": 0,
|
98
|
+
"comments": 1,
|
99
|
+
"attachments": 0,
|
100
|
+
"description": true,
|
101
|
+
"due": null
|
102
|
+
},
|
103
|
+
"due": null,
|
104
|
+
"idChecklists": [],
|
105
|
+
"idMembers": [],
|
106
|
+
"labels": [],
|
107
|
+
"shortUrl": "<Trello URL>",
|
108
|
+
"subscribed": false,
|
109
|
+
"url": "<Trello URL>"
|
110
|
+
}
|
111
|
+
],
|
112
|
+
"members": [
|
113
|
+
{
|
114
|
+
"id": "20050",
|
115
|
+
"avatarHash": "20001",
|
116
|
+
"initials": "GL",
|
117
|
+
"fullName": "Gavin Laking",
|
118
|
+
"username": "gavinlaking1",
|
119
|
+
"confirmed": true
|
120
|
+
}
|
121
|
+
],
|
122
|
+
"lists": [
|
123
|
+
{
|
124
|
+
"id": "20040",
|
125
|
+
"name": "My New List",
|
126
|
+
"closed": true,
|
127
|
+
"idBoard": "20010",
|
128
|
+
"pos": 256,
|
129
|
+
"subscribed": false
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"id": "20041",
|
133
|
+
"name": "My New List",
|
134
|
+
"closed": true,
|
135
|
+
"idBoard": "20010",
|
136
|
+
"pos": 512,
|
137
|
+
"subscribed": false
|
138
|
+
}
|
139
|
+
]
|
140
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"id": "
|
2
|
+
"id": "20010",
|
3
3
|
"name": "Troo Board",
|
4
4
|
"desc": "",
|
5
5
|
"descData": null,
|
@@ -38,8 +38,8 @@
|
|
38
38
|
"cards": [],
|
39
39
|
"members": [
|
40
40
|
{
|
41
|
-
"id": "
|
42
|
-
"avatarHash": "
|
41
|
+
"id": "20050",
|
42
|
+
"avatarHash": "20001",
|
43
43
|
"initials": "GL",
|
44
44
|
"fullName": "Gavin Laking",
|
45
45
|
"username": "gavinlaking1",
|
@@ -48,26 +48,26 @@
|
|
48
48
|
],
|
49
49
|
"lists": [
|
50
50
|
{
|
51
|
-
"id": "
|
51
|
+
"id": "20040",
|
52
52
|
"name": "To Do",
|
53
53
|
"closed": false,
|
54
|
-
"idBoard": "
|
54
|
+
"idBoard": "20010",
|
55
55
|
"pos": 16384,
|
56
56
|
"subscribed": false
|
57
57
|
},
|
58
58
|
{
|
59
|
-
"id": "
|
59
|
+
"id": "20041",
|
60
60
|
"name": "Doing",
|
61
61
|
"closed": false,
|
62
|
-
"idBoard": "
|
62
|
+
"idBoard": "20010",
|
63
63
|
"pos": 32768,
|
64
64
|
"subscribed": false
|
65
65
|
},
|
66
66
|
{
|
67
|
-
"id": "
|
67
|
+
"id": "20042",
|
68
68
|
"name": "Done",
|
69
69
|
"closed": false,
|
70
|
-
"idBoard": "
|
70
|
+
"idBoard": "20010",
|
71
71
|
"pos": 49152,
|
72
72
|
"subscribed": false
|
73
73
|
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
{
|
2
|
+
"id": "20010",
|
3
|
+
"name": "Troo Board",
|
4
|
+
"desc": "",
|
5
|
+
"descData": null,
|
6
|
+
"closed": false,
|
7
|
+
"idOrganization": null,
|
8
|
+
"pinned": true,
|
9
|
+
"url": "https://trello.com/b/cGD87Ml3/troo-board",
|
10
|
+
"shortUrl": "https://trello.com/b/cGD87Ml3",
|
11
|
+
"prefs": {
|
12
|
+
"permissionLevel": "private",
|
13
|
+
"voting": "disabled",
|
14
|
+
"comments": "members",
|
15
|
+
"invitations": "members",
|
16
|
+
"selfJoin": false,
|
17
|
+
"cardCovers": true,
|
18
|
+
"cardAging": "regular",
|
19
|
+
"background": "blue",
|
20
|
+
"backgroundColor": "#23719F",
|
21
|
+
"backgroundImage": null,
|
22
|
+
"backgroundImageScaled": null,
|
23
|
+
"backgroundTile": false,
|
24
|
+
"backgroundBrightness": "unknown",
|
25
|
+
"canBePublic": true,
|
26
|
+
"canBeOrg": true,
|
27
|
+
"canBePrivate": true,
|
28
|
+
"canInvite": true
|
29
|
+
},
|
30
|
+
"labelNames": {
|
31
|
+
"red": "",
|
32
|
+
"orange": "",
|
33
|
+
"yellow": "",
|
34
|
+
"green": "",
|
35
|
+
"blue": "",
|
36
|
+
"purple": ""
|
37
|
+
},
|
38
|
+
"cards": [],
|
39
|
+
"members": [
|
40
|
+
{
|
41
|
+
"id": "20050",
|
42
|
+
"avatarHash": "20001",
|
43
|
+
"initials": "GL",
|
44
|
+
"fullName": "Gavin Laking",
|
45
|
+
"username": "gavinlaking1",
|
46
|
+
"confirmed": true
|
47
|
+
}
|
48
|
+
],
|
49
|
+
"lists": [
|
50
|
+
{
|
51
|
+
"id": "20040",
|
52
|
+
"name": "To Do",
|
53
|
+
"closed": false,
|
54
|
+
"idBoard": "20010",
|
55
|
+
"pos": 16384,
|
56
|
+
"subscribed": false
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"id": "20041",
|
60
|
+
"name": "Doing",
|
61
|
+
"closed": false,
|
62
|
+
"idBoard": "20010",
|
63
|
+
"pos": 32768,
|
64
|
+
"subscribed": false
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"id": "20042",
|
68
|
+
"name": "Done",
|
69
|
+
"closed": false,
|
70
|
+
"idBoard": "20010",
|
71
|
+
"pos": 49152,
|
72
|
+
"subscribed": false
|
73
|
+
}
|
74
|
+
]
|
75
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
{
|
2
|
-
"id": "
|
2
|
+
"id": "20020",
|
3
3
|
"badges": {
|
4
4
|
"votes": 0,
|
5
5
|
"viewingMemberVoted": false,
|
@@ -18,11 +18,11 @@
|
|
18
18
|
"desc": "some description",
|
19
19
|
"descData": null,
|
20
20
|
"due": null,
|
21
|
-
"idBoard": "
|
21
|
+
"idBoard": "20010",
|
22
22
|
"idChecklists": [],
|
23
|
-
"idList": "
|
23
|
+
"idList": "20040",
|
24
24
|
"idMembers": [
|
25
|
-
"
|
25
|
+
"20050"
|
26
26
|
],
|
27
27
|
"idShort": 67,
|
28
28
|
"idAttachmentCover": null,
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{
|
2
|
+
"id": "20020",
|
3
|
+
"badges": {
|
4
|
+
"votes": 0,
|
5
|
+
"viewingMemberVoted": false,
|
6
|
+
"subscribed": false,
|
7
|
+
"fogbugz": "",
|
8
|
+
"checkItems": 0,
|
9
|
+
"checkItemsChecked": 0,
|
10
|
+
"comments": 10,
|
11
|
+
"attachments": 0,
|
12
|
+
"description": false,
|
13
|
+
"due": null
|
14
|
+
},
|
15
|
+
"checkItemStates": [],
|
16
|
+
"closed": false,
|
17
|
+
"dateLastActivity": "2014-02-13T20:12:46.612Z",
|
18
|
+
"desc": "some description",
|
19
|
+
"descData": null,
|
20
|
+
"due": null,
|
21
|
+
"idBoard": "20010",
|
22
|
+
"idChecklists": [],
|
23
|
+
"idList": "20040",
|
24
|
+
"idMembers": [
|
25
|
+
"20050"
|
26
|
+
],
|
27
|
+
"idShort": 67,
|
28
|
+
"idAttachmentCover": null,
|
29
|
+
"manualCoverAttachment": false,
|
30
|
+
"labels": [
|
31
|
+
{
|
32
|
+
"color": "green",
|
33
|
+
"name": "Ready to Pull"
|
34
|
+
}
|
35
|
+
],
|
36
|
+
"name": "My Test Card",
|
37
|
+
"pos": 589823,
|
38
|
+
"shortUrl": "<Trello URL>",
|
39
|
+
"url": "<Trello URL>"
|
40
|
+
}
|