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.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/Gemfile.lock +40 -32
  4. data/Guardfile +9 -1
  5. data/README.md +15 -10
  6. data/bin/troo +22 -2
  7. data/config/en.yml +11 -1
  8. data/config/help +16 -0
  9. data/{.trooconf.example → config/trooconf.yml} +4 -2
  10. data/features/add/card.feature +1 -1
  11. data/features/add/comment.feature +1 -1
  12. data/features/add/list.feature +1 -1
  13. data/features/default/board.feature +1 -1
  14. data/features/default/card.feature +1 -1
  15. data/features/default/list.feature +1 -1
  16. data/features/move/card.feature +5 -5
  17. data/features/refresh/board.feature +1 -1
  18. data/features/refresh/card.feature +1 -1
  19. data/features/refresh/list.feature +1 -1
  20. data/features/show/board.feature +11 -3
  21. data/features/show/boards.feature +1 -0
  22. data/features/show/card.feature +7 -7
  23. data/features/show/comment.feature +15 -6
  24. data/features/show/list.feature +3 -1
  25. data/features/status.feature +2 -2
  26. data/features/step_definitions/fabrication_steps.rb +11 -11
  27. data/features/step_definitions/troo_steps.rb +1 -1
  28. data/features/support/cassettes/200_board_by_id.yml +56 -0
  29. data/features/support/cassettes/200_card_by_id.yml +77 -0
  30. data/features/support/cassettes/200_create_board.yml +186 -0
  31. data/features/support/cassettes/200_create_card.yml +86 -0
  32. data/features/support/cassettes/200_create_comment.yml +73 -0
  33. data/features/support/cassettes/200_create_list.yml +53 -0
  34. data/{test/cassettes/list_by_id.yml → features/support/cassettes/200_list_by_id.yml} +6 -6
  35. data/features/support/cassettes/200_move_card_200_board.yml +86 -0
  36. data/features/support/cassettes/200_move_card_200_list.yml +86 -0
  37. data/features/support/cassettes/200_move_card_400_list.yml +46 -0
  38. data/{test/cassettes/lists_by_board_id.yml → features/support/cassettes/400_board_by_id.yml} +10 -10
  39. data/features/support/cassettes/400_card_by_id.yml +46 -0
  40. data/features/support/cassettes/400_create_card.yml +46 -0
  41. data/features/support/cassettes/400_create_comment.yml +46 -0
  42. data/features/support/cassettes/400_create_list.yml +46 -0
  43. data/features/support/cassettes/400_list_by_id.yml +46 -0
  44. data/features/support/cassettes/400_move_card_200_list.yml +46 -0
  45. data/features/support/cassettes/400_move_card_400_board.yml +46 -0
  46. data/features/support/cassettes/boards_all.yml +286 -0
  47. data/features/support/env.rb +1 -2
  48. data/lib/troo/cli/commands/refresh/all.rb +2 -0
  49. data/lib/troo/cli/main.rb +2 -23
  50. data/lib/troo/configuration.rb +5 -0
  51. data/lib/troo/database.rb +29 -0
  52. data/lib/troo/decorators/resource.rb +24 -10
  53. data/lib/troo/helpers/model_helpers.rb +3 -2
  54. data/lib/troo/models/board.rb +1 -1
  55. data/lib/troo/models/card.rb +1 -1
  56. data/lib/troo/models/comment.rb +0 -4
  57. data/lib/troo/models/list.rb +1 -1
  58. data/lib/troo/presentation/formatter.rb +99 -4
  59. data/lib/troo/presentation/template.rb +8 -9
  60. data/lib/troo/presenters/board.rb +24 -26
  61. data/lib/troo/presenters/card.rb +3 -1
  62. data/lib/troo/presenters/list.rb +30 -17
  63. data/lib/troo/presenters/resource.rb +90 -0
  64. data/lib/troo/retrieval/local.rb +5 -1
  65. data/lib/troo/troo.rb +2 -0
  66. data/lib/troo/version.rb +1 -1
  67. data/lib/troo.rb +7 -4
  68. data/test/cassettes/create_board.yml +15 -9
  69. data/test/cassettes/create_card.yml +10 -10
  70. data/test/cassettes/create_comment.yml +9 -9
  71. data/test/cassettes/create_list.yml +5 -5
  72. data/test/cassettes/move_card_board.yml +11 -11
  73. data/test/cassettes/move_card_list.yml +11 -11
  74. data/test/lib/troo/api/endpoints_test.rb +2 -2
  75. data/test/lib/troo/cli/commands/add_test.rb +2 -2
  76. data/test/lib/troo/cli/commands/refresh/all_test.rb +4 -9
  77. data/test/lib/troo/cli/main_test.rb +0 -25
  78. data/test/lib/troo/configuration_test.rb +18 -13
  79. data/test/lib/troo/decorators/member_test.rb +0 -27
  80. data/test/lib/troo/decorators/resource_test.rb +0 -32
  81. data/test/lib/troo/helpers/model_helpers_test.rb +15 -3
  82. data/test/lib/troo/models/board_test.rb +45 -1
  83. data/test/lib/troo/models/card_test.rb +60 -6
  84. data/test/lib/troo/models/comment_test.rb +44 -4
  85. data/test/lib/troo/models/database_test.rb +19 -0
  86. data/test/lib/troo/models/list_test.rb +46 -2
  87. data/test/lib/troo/models/member_test.rb +51 -1
  88. data/test/lib/troo/presentation/formatter_test.rb +54 -2
  89. data/test/lib/troo/presentation/template_test.rb +4 -4
  90. data/test/lib/troo/presenters/board_test.rb +4 -3
  91. data/test/lib/troo/presenters/list_test.rb +3 -3
  92. data/test/lib/troo/presenters/member_test.rb +1 -1
  93. data/test/lib/troo/presenters/resource_test.rb +79 -0
  94. data/test/lib/troo/remote/board_test.rb +5 -8
  95. data/test/lib/troo/remote/card_test.rb +7 -11
  96. data/test/lib/troo/remote/comment_test.rb +10 -14
  97. data/test/lib/troo/remote/list_test.rb +5 -9
  98. data/test/lib/troo/remote/member_test.rb +5 -9
  99. data/test/lib/troo/remote/persistence/card_test.rb +1 -1
  100. data/test/lib/troo/remote/persistence/comment_test.rb +1 -1
  101. data/test/lib/troo/remote/persistence/list_test.rb +1 -1
  102. data/test/lib/troo/remote/persistence/move_card_test.rb +3 -3
  103. data/test/lib/troo/retrieval/local_test.rb +13 -1
  104. data/test/lib/troo/retrieval/remote_test.rb +1 -1
  105. data/test/support/fabrication.rb +12 -12
  106. data/test/support/fake_trello/fake_response.rb +18 -1
  107. data/test/support/fake_trello/server.rb +2 -0
  108. data/test/support/remotes/all_boards.json +103 -4
  109. data/test/support/remotes/{board.json → all_boards_200.json} +13 -13
  110. data/test/support/remotes/board_200.json +140 -0
  111. data/test/support/remotes/board_by_id.json +9 -9
  112. data/test/support/remotes/board_by_id_200.json +75 -0
  113. data/test/support/remotes/card.json +4 -4
  114. data/test/support/remotes/card_200.json +40 -0
  115. data/test/support/remotes/card_by_card_id.json +64 -64
  116. data/test/support/remotes/card_by_card_id_200.json +302 -0
  117. data/test/support/remotes/comment.json +6 -6
  118. data/test/support/remotes/comment_200.json +27 -0
  119. data/test/support/remotes/create_board.json +1 -1
  120. data/test/support/remotes/create_board_200.json +38 -0
  121. data/test/support/remotes/list.json +2 -2
  122. data/test/support/remotes/list_200.json +7 -0
  123. data/test/support/remotes/member.json +4 -4
  124. data/test/support/remotes/member_200.json +50 -0
  125. data/test/test_helper.rb +9 -2
  126. data/troo.gemspec +4 -3
  127. metadata +92 -41
  128. data/test/cassettes/board_by_id.yml +0 -50
  129. data/test/cassettes/boards_all.yml +0 -50
  130. data/test/cassettes/card_by_id.yml +0 -49
  131. data/test/cassettes/cards_by_board_id.yml +0 -49
  132. data/test/cassettes/cards_by_list_id.yml +0 -49
  133. data/test/cassettes/comments_by_board_id.yml +0 -49
  134. data/test/cassettes/comments_by_card_id.yml +0 -49
  135. data/test/cassettes/member_by_id.yml +0 -48
  136. data/test/cassettes/members_by_board_id.yml +0 -48
  137. data/test/lib/troo/decorators/card_test.rb +0 -113
@@ -2,46 +2,46 @@ require 'fabrication'
2
2
  require_relative '../../test/support/fabrication.rb'
3
3
 
4
4
  Given(/^a board exists$/) do
5
- Fabricate(:board, external_id: 200)
5
+ Fabricate(:board, external_id: 200_10)
6
6
  end
7
7
 
8
8
  Given(/^a list exists$/) do
9
9
  Fabricate(:board)
10
- Fabricate(:list, external_id: 200)
10
+ Fabricate(:list, external_id: 200_40)
11
11
  end
12
12
 
13
13
  Given(/^a card exists$/) do
14
14
  Fabricate(:board)
15
15
  Fabricate(:list)
16
16
  Fabricate(:member)
17
- Fabricate(:card, external_id: 200)
17
+ Fabricate(:card, external_id: 200_20)
18
18
  end
19
19
 
20
20
  Given(/^a comment exists$/) do
21
- Fabricate(:card, external_id: 200)
21
+ Fabricate(:card, external_id: 200_20)
22
22
  Fabricate(:member)
23
- Fabricate(:comment, external_card_id: 200)
23
+ Fabricate(:comment, external_card_id: 200_20)
24
24
  end
25
25
 
26
26
  Given(/^(\d+) comments exist$/) do |count|
27
- Fabricate(:card, external_id: 200)
27
+ Fabricate(:card, external_id: 200_20)
28
28
  Fabricate(:member)
29
29
  count.to_i.times do
30
- Fabricate(:comment, external_card_id: 200)
30
+ Fabricate(:comment, external_card_id: 200_20)
31
31
  end
32
32
  end
33
33
 
34
34
  Given(/^a default board exists$/) do
35
35
  Fabricate(:board, default: true,
36
36
  name: 'My Default Board',
37
- external_id: 200)
37
+ external_id: 200_10)
38
38
  end
39
39
 
40
40
  Given(/^a default list exists$/) do
41
41
  Fabricate(:board)
42
42
  Fabricate(:list, default: true,
43
43
  name: 'My Default List',
44
- external_id: 200)
44
+ external_id: 200_40)
45
45
  end
46
46
 
47
47
  Given(/^a default card exists$/) do
@@ -50,7 +50,7 @@ Given(/^a default card exists$/) do
50
50
  Fabricate(:member)
51
51
  Fabricate(:card, default: true,
52
52
  name: 'My Default Card',
53
- external_id: 200)
53
+ external_id: 200_20)
54
54
  end
55
55
 
56
56
  Given(/^local data exists, all defaults set$/) do
@@ -64,6 +64,6 @@ Given(/^local data exists$/) do
64
64
  Fabricate(:board, default: true, name: 'My Default Board')
65
65
  Fabricate(:board)
66
66
  Fabricate(:list, default: true, name: 'My Default List')
67
- Fabricate(:card, external_id: 200)
67
+ Fabricate(:card, external_id: 200_20)
68
68
  Troo::Refresh.completed!
69
69
  end
@@ -7,7 +7,7 @@ Then(/^the output should be the version number of troo$/) do
7
7
  end
8
8
 
9
9
  Before do
10
- config = Troo::Configuration.load('test/support/.trooconf', :test)
10
+ config = Troo::Configuration.load('config/trooconf.yml', :test)
11
11
  Ohm.connect(db: config.database)
12
12
  end
13
13
 
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.trello.com/1/boards/20010
6
+ body:
7
+ encoding: UTF-8
8
+ string: cards=open&lists=open&members=all
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - "<OAuth Credentials>"
16
+ Content-Length:
17
+ - '33'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: 'OK '
24
+ headers:
25
+ Content-Type:
26
+ - text/html;charset=utf-8
27
+ Content-Length:
28
+ - '2271'
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
+ Date:
38
+ - Tue, 11 Mar 2014 21:34:36 GMT
39
+ Connection:
40
+ - Keep-Alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"id":"20010","name":"My Test Board","desc":"A very brief description...","descData":null,"closed":false,"idOrganization":null,"pinned":true,"url":"<Trello
44
+ URL>","shortUrl":"<Trello URL>","prefs":{"permissionLevel":"private","voting":"disabled","comments":"members","invitations":"members","selfJoin":false,"cardCovers":true,"cardAging":"regular","background":"blue","backgroundColor":"#23719F","backgroundImage":null,"backgroundImageScaled":null,"backgroundTile":false,"backgroundBrightness":"unknown","canBePublic":true,"canBeOrg":true,"canBePrivate":true,"canInvite":true},"labelNames":{"yellow":"Analysis
45
+ Complete","red":"","purple":"","orange":"","green":"Ready to Pull","blue":""},"cards":[{"id":"20020","checkItemStates":[],"closed":true,"dateLastActivity":"2013-10-27T22:10:19.584Z","desc":"","descData":null,"idBoard":"20010","idList":"20040","idMembersVoted":[],"idShort":1,"idAttachmentCover":null,"manualCoverAttachment":false,"name":"Command:
46
+ config","pos":327679,"shortLink":"1G0cGaRV","badges":{"votes":0,"viewingMemberVoted":false,"subscribed":false,"fogbugz":"","checkItems":0,"checkItemsChecked":0,"comments":0,"attachments":0,"description":false,"due":null},"due":null,"idChecklists":[],"idMembers":[],"labels":[],"shortUrl":"<Trello
47
+ URL>","subscribed":false,"url":"<Trello URL>"},{"id":"20021","checkItemStates":[],"closed":false,"dateLastActivity":"2014-02-07T19:39:15.075Z","desc":"A
48
+ description to get us started.","descData":null,"idBoard":"20010","idList":"20040","idMembersVoted":[],"idShort":27,"idAttachmentCover":null,"manualCoverAttachment":false,"name":"My
49
+ New Card","pos":606207,"shortLink":"OMnSslgP","badges":{"votes":0,"viewingMemberVoted":false,"subscribed":false,"fogbugz":"","checkItems":0,"checkItemsChecked":0,"comments":1,"attachments":0,"description":true,"due":null},"due":null,"idChecklists":[],"idMembers":[],"labels":[],"shortUrl":"<Trello
50
+ URL>","subscribed":false,"url":"<Trello URL>"}],"members":[{"id":"20050","avatarHash":"20001","initials":"GL","fullName":"Gavin
51
+ Laking","username":"gavinlaking1","confirmed":true}],"lists":[{"id":"20040","name":"My
52
+ New List","closed":true,"idBoard":"20010","pos":256,"subscribed":false},{"id":"20041","name":"My
53
+ New List","closed":true,"idBoard":"20010","pos":512,"subscribed":false}]}'
54
+ http_version:
55
+ recorded_at: Tue, 11 Mar 2014 21:34:36 GMT
56
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.trello.com/1/cards/20020
6
+ body:
7
+ encoding: UTF-8
8
+ string: actions=commentCard
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - "<OAuth Credentials>"
16
+ Content-Length:
17
+ - '19'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: 'OK '
24
+ headers:
25
+ Content-Type:
26
+ - text/html;charset=utf-8
27
+ Content-Length:
28
+ - '4436'
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
+ Date:
38
+ - Tue, 11 Mar 2014 21:34:36 GMT
39
+ Connection:
40
+ - Keep-Alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"id":"20020","badges":{"votes":0,"viewingMemberVoted":false,"subscribed":false,"fogbugz":"","checkItems":0,"checkItemsChecked":0,"comments":10,"attachments":0,"description":false,"due":null},"checkItemStates":[],"closed":false,"dateLastActivity":"2014-02-19T21:52:13.854Z","desc":"","descData":null,"due":null,"idBoard":"20010","idChecklists":[],"idList":"20040","idMembers":["20050"],"idShort":36,"idAttachmentCover":null,"manualCoverAttachment":false,"labels":[{"color":"green","name":"Ready
44
+ to Pull"}],"name":"My Test Card","pos":753663,"shortUrl":"https://trello.com/c/UJBK7pil","url":"https://trello.com/c/UJBK7pil/36-my-test-card","actions":[{"id":"20030","idMemberCreator":"20050","data":{"board":{"name":"Troo
45
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
46
+ Card","id":"20020"},"text":"This is a comment."},"type":"commentCard","date":"2014-02-07T18:02:24.297Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
47
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20031","idMemberCreator":"20050","data":{"board":{"name":"Troo
48
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
49
+ Card","id":"20020"},"text":"test"},"type":"commentCard","date":"2014-01-16T20:58:45.814Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
50
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20032","idMemberCreator":"20050","data":{"board":{"name":"Troo
51
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
52
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-14T20:03:58.448Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
53
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20033","idMemberCreator":"20050","data":{"board":{"name":"Troo
54
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
55
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-11T22:18:43.943Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
56
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20034","idMemberCreator":"20050","data":{"board":{"name":"Troo
57
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
58
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-11T18:48:00.098Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
59
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20035","idMemberCreator":"20050","data":{"board":{"name":"Troo
60
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
61
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-11T18:46:54.195Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
62
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20036","idMemberCreator":"20050","data":{"board":{"name":"Troo
63
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
64
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-11T16:53:28.849Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
65
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20037","idMemberCreator":"20050","data":{"board":{"name":"Troo
66
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
67
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-10T15:45:04.728Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
68
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20038","idMemberCreator":"20050","data":{"board":{"name":"Troo
69
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
70
+ Card","id":"20020"},"text":"Some much needed feedback..."},"type":"commentCard","date":"2014-01-06T20:14:49.341Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
71
+ Laking","initials":"GL","username":"gavinlaking1"}},{"id":"20039","idMemberCreator":"20050","data":{"board":{"name":"Troo
72
+ App","id":"20010"},"card":{"shortLink":"UJBK7pil","idShort":8,"name":"My Test
73
+ Card","id":"20020"},"text":"This is a comment."},"type":"commentCard","date":"2014-01-06T20:13:49.793Z","memberCreator":{"id":"20050","avatarHash":"20001","fullName":"Gavin
74
+ Laking","initials":"GL","username":"gavinlaking1"}}]}'
75
+ http_version:
76
+ recorded_at: Tue, 11 Mar 2014 21:34:36 GMT
77
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,186 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.trello.com/1/boards
6
+ body:
7
+ encoding: UTF-8
8
+ string: desc&name=My%20Cucumber%20Board
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - "<OAuth Credentials>"
16
+ Content-Length:
17
+ - '31'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: 'OK '
24
+ headers:
25
+ Content-Type:
26
+ - text/html;charset=utf-8
27
+ Content-Length:
28
+ - '3258'
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
+ Date:
38
+ - Tue, 11 Mar 2014 21:34:35 GMT
39
+ Connection:
40
+ - Keep-Alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: |
44
+ {
45
+ "id": "20010",
46
+ "name": "My Test Board",
47
+ "desc": "A very brief description...",
48
+ "descData": null,
49
+ "closed": false,
50
+ "idOrganization": null,
51
+ "pinned": true,
52
+ "url": "<Trello URL>",
53
+ "shortUrl": "<Trello URL>",
54
+ "prefs": {
55
+ "permissionLevel": "private",
56
+ "voting": "disabled",
57
+ "comments": "members",
58
+ "invitations": "members",
59
+ "selfJoin": false,
60
+ "cardCovers": true,
61
+ "cardAging": "regular",
62
+ "background": "blue",
63
+ "backgroundColor": "#23719F",
64
+ "backgroundImage": null,
65
+ "backgroundImageScaled": null,
66
+ "backgroundTile": false,
67
+ "backgroundBrightness": "unknown",
68
+ "canBePublic": true,
69
+ "canBeOrg": true,
70
+ "canBePrivate": true,
71
+ "canInvite": true
72
+ },
73
+ "labelNames": {
74
+ "yellow": "Analysis Complete",
75
+ "red": "",
76
+ "purple": "",
77
+ "orange": "",
78
+ "green": "Ready to Pull",
79
+ "blue": ""
80
+ },
81
+ "cards": [
82
+ {
83
+ "id": "20020",
84
+ "checkItemStates": [],
85
+ "closed": true,
86
+ "dateLastActivity": "2013-10-27T22:10:19.584Z",
87
+ "desc": "",
88
+ "descData": null,
89
+ "idBoard": "20010",
90
+ "idList": "20040",
91
+ "idMembersVoted": [],
92
+ "idShort": 1,
93
+ "idAttachmentCover": null,
94
+ "manualCoverAttachment": false,
95
+ "name": "Command: config",
96
+ "pos": 327679,
97
+ "shortLink": "1G0cGaRV",
98
+ "badges": {
99
+ "votes": 0,
100
+ "viewingMemberVoted": false,
101
+ "subscribed": false,
102
+ "fogbugz": "",
103
+ "checkItems": 0,
104
+ "checkItemsChecked": 0,
105
+ "comments": 0,
106
+ "attachments": 0,
107
+ "description": false,
108
+ "due": null
109
+ },
110
+ "due": null,
111
+ "idChecklists": [],
112
+ "idMembers": [],
113
+ "labels": [],
114
+ "shortUrl": "<Trello URL>",
115
+ "subscribed": false,
116
+ "url": "<Trello URL>"
117
+ },
118
+ {
119
+ "id": "20021",
120
+ "checkItemStates": [],
121
+ "closed": false,
122
+ "dateLastActivity": "2014-02-07T19:39:15.075Z",
123
+ "desc": "A description to get us started.",
124
+ "descData": null,
125
+ "idBoard": "20010",
126
+ "idList": "20040",
127
+ "idMembersVoted": [],
128
+ "idShort": 27,
129
+ "idAttachmentCover": null,
130
+ "manualCoverAttachment": false,
131
+ "name": "My New Card",
132
+ "pos": 606207,
133
+ "shortLink": "OMnSslgP",
134
+ "badges": {
135
+ "votes": 0,
136
+ "viewingMemberVoted": false,
137
+ "subscribed": false,
138
+ "fogbugz": "",
139
+ "checkItems": 0,
140
+ "checkItemsChecked": 0,
141
+ "comments": 1,
142
+ "attachments": 0,
143
+ "description": true,
144
+ "due": null
145
+ },
146
+ "due": null,
147
+ "idChecklists": [],
148
+ "idMembers": [],
149
+ "labels": [],
150
+ "shortUrl": "<Trello URL>",
151
+ "subscribed": false,
152
+ "url": "<Trello URL>"
153
+ }
154
+ ],
155
+ "members": [
156
+ {
157
+ "id": "20050",
158
+ "avatarHash": "20001",
159
+ "initials": "GL",
160
+ "fullName": "Gavin Laking",
161
+ "username": "gavinlaking1",
162
+ "confirmed": true
163
+ }
164
+ ],
165
+ "lists": [
166
+ {
167
+ "id": "20040",
168
+ "name": "My New List",
169
+ "closed": true,
170
+ "idBoard": "20010",
171
+ "pos": 256,
172
+ "subscribed": false
173
+ },
174
+ {
175
+ "id": "20041",
176
+ "name": "My New List",
177
+ "closed": true,
178
+ "idBoard": "20010",
179
+ "pos": 512,
180
+ "subscribed": false
181
+ }
182
+ ]
183
+ }
184
+ http_version:
185
+ recorded_at: Tue, 11 Mar 2014 21:34:35 GMT
186
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,86 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.trello.com/1/cards
6
+ body:
7
+ encoding: UTF-8
8
+ string: desc&list_id=20040&name=My%20Cucumber%20Card
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - "<OAuth Credentials>"
16
+ Content-Length:
17
+ - '44'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: 'OK '
24
+ headers:
25
+ Content-Type:
26
+ - text/html;charset=utf-8
27
+ Content-Length:
28
+ - '786'
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
+ Date:
38
+ - Tue, 11 Mar 2014 21:34:35 GMT
39
+ Connection:
40
+ - Keep-Alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: |
44
+ {
45
+ "id": "20020",
46
+ "badges": {
47
+ "votes": 0,
48
+ "viewingMemberVoted": false,
49
+ "subscribed": false,
50
+ "fogbugz": "",
51
+ "checkItems": 0,
52
+ "checkItemsChecked": 0,
53
+ "comments": 10,
54
+ "attachments": 0,
55
+ "description": false,
56
+ "due": null
57
+ },
58
+ "checkItemStates": [],
59
+ "closed": false,
60
+ "dateLastActivity": "2014-02-13T20:12:46.612Z",
61
+ "desc": "some description",
62
+ "descData": null,
63
+ "due": null,
64
+ "idBoard": "20010",
65
+ "idChecklists": [],
66
+ "idList": "20040",
67
+ "idMembers": [
68
+ "20050"
69
+ ],
70
+ "idShort": 67,
71
+ "idAttachmentCover": null,
72
+ "manualCoverAttachment": false,
73
+ "labels": [
74
+ {
75
+ "color": "green",
76
+ "name": "Ready to Pull"
77
+ }
78
+ ],
79
+ "name": "My Test Card",
80
+ "pos": 589823,
81
+ "shortUrl": "<Trello URL>",
82
+ "url": "<Trello URL>"
83
+ }
84
+ http_version:
85
+ recorded_at: Tue, 11 Mar 2014 21:34:35 GMT
86
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.trello.com/1/cards/20020/actions/comments
6
+ body:
7
+ encoding: UTF-8
8
+ string: text=My%20Cucumber%20Comment
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - "<OAuth Credentials>"
16
+ Content-Length:
17
+ - '28'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: 'OK '
24
+ headers:
25
+ Content-Type:
26
+ - text/html;charset=utf-8
27
+ Content-Length:
28
+ - '543'
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
+ Date:
38
+ - Tue, 11 Mar 2014 21:34:35 GMT
39
+ Connection:
40
+ - Keep-Alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: |
44
+ {
45
+ "id": "20030",
46
+ "idMemberCreator": "20050",
47
+ "data": {
48
+ "board": {
49
+ "shortLink": "a3RnYKnD",
50
+ "name": "My Test Board",
51
+ "id": "20010"
52
+ },
53
+ "card": {
54
+ "shortLink": "UJBK7pil",
55
+ "idShort": 8,
56
+ "name": "My Test Card",
57
+ "id": "20020"
58
+ },
59
+ "text": "My Test Comment"
60
+ },
61
+ "type": "commentCard",
62
+ "date": "2014-02-07T18:02:24.297Z",
63
+ "memberCreator": {
64
+ "id": "20050",
65
+ "avatarHash": "20001",
66
+ "fullName": "Gavin Laking",
67
+ "initials": "GL",
68
+ "username": "gavinlaking1"
69
+ }
70
+ }
71
+ http_version:
72
+ recorded_at: Tue, 11 Mar 2014 21:34:35 GMT
73
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,53 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.trello.com/1/lists
6
+ body:
7
+ encoding: UTF-8
8
+ string: board_id=20010&name=My%20Cucumber%20List
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Authorization:
15
+ - "<OAuth Credentials>"
16
+ Content-Length:
17
+ - '40'
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: 'OK '
24
+ headers:
25
+ Content-Type:
26
+ - text/html;charset=utf-8
27
+ Content-Length:
28
+ - '103'
29
+ X-Xss-Protection:
30
+ - 1; mode=block
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
+ Date:
38
+ - Tue, 11 Mar 2014 21:34:35 GMT
39
+ Connection:
40
+ - Keep-Alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: |
44
+ {
45
+ "id": "20040",
46
+ "name": "My Test List",
47
+ "closed": false,
48
+ "idBoard": "20010",
49
+ "pos": 32768
50
+ }
51
+ http_version:
52
+ recorded_at: Tue, 11 Mar 2014 21:34:35 GMT
53
+ recorded_with: VCR 2.8.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.trello.com/1/lists/526d8e130a14a9d846001d97
5
+ uri: https://api.trello.com/1/lists/20040
6
6
  body:
7
7
  encoding: ASCII-8BIT
8
8
  string: ''
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Content-Type:
26
26
  - text/html;charset=utf-8
27
27
  Content-Length:
28
- - '141'
28
+ - '81'
29
29
  X-Xss-Protection:
30
30
  - 1; mode=block
31
31
  X-Content-Type-Options:
@@ -33,14 +33,14 @@ http_interactions:
33
33
  X-Frame-Options:
34
34
  - SAMEORIGIN
35
35
  Server:
36
- - WEBrick/1.3.1 (Ruby/2.1.0/2013-12-25) OpenSSL/1.0.1e
36
+ - WEBrick/1.3.1 (Ruby/2.1.1/2014-02-24) OpenSSL/1.0.1f
37
37
  Date:
38
- - Fri, 21 Feb 2014 19:12:14 GMT
38
+ - Tue, 11 Mar 2014 21:34:36 GMT
39
39
  Connection:
40
40
  - Keep-Alive
41
41
  body:
42
42
  encoding: UTF-8
43
- string: "{\"id\":\"526d8e130a14a9d846001d97\",\"name\":\"My Test List\",\"closed\":false,\"idBoard\":\"526d8e130a14a9d846001d96\",\"pos\":32768}"
43
+ string: '{"id":"20040","name":"My Test List","closed":false,"idBoard":"20010","pos":32768}'
44
44
  http_version:
45
- recorded_at: Fri, 21 Feb 2014 19:12:14 GMT
45
+ recorded_at: Tue, 11 Mar 2014 21:34:36 GMT
46
46
  recorded_with: VCR 2.8.0