troo 0.0.8 → 0.0.9

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 (316) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.ruby-version +1 -1
  4. data/.trooconf.example +18 -0
  5. data/Gemfile.lock +178 -0
  6. data/README.md +77 -21
  7. data/Rakefile +1 -1
  8. data/bin/completion.bash +10 -0
  9. data/bin/completion.zsh +10 -0
  10. data/bin/init.sh +15 -0
  11. data/bin/troo +12 -3
  12. data/config/cucumber.yml +3 -3
  13. data/config/en.yml +29 -0
  14. data/config/trello_api.yml +19 -0
  15. data/features/add/board.feature +3 -19
  16. data/features/add/card.feature +14 -18
  17. data/features/add/comment.feature +14 -14
  18. data/features/add/list.feature +11 -14
  19. data/features/default/board.feature +4 -4
  20. data/features/default/card.feature +4 -4
  21. data/features/default/list.feature +4 -4
  22. data/features/move/card.feature +54 -0
  23. data/features/refresh/all.feature +8 -4
  24. data/features/refresh/board.feature +9 -6
  25. data/features/refresh/card.feature +9 -6
  26. data/features/refresh/list.feature +9 -6
  27. data/features/show/board.feature +7 -7
  28. data/features/show/boards.feature +19 -0
  29. data/features/show/card.feature +86 -15
  30. data/features/show/comment.feature +14 -12
  31. data/features/show/list.feature +19 -14
  32. data/features/status.feature +27 -13
  33. data/features/step_definitions/fabrication_steps.rb +43 -8
  34. data/features/step_definitions/troo_steps.rb +3 -2
  35. data/features/support/env.rb +1 -0
  36. data/features/troo.feature +0 -12
  37. data/lib/troo.rb +32 -29
  38. data/lib/troo/api/client.rb +117 -0
  39. data/lib/troo/api/endpoints.rb +39 -0
  40. data/lib/troo/api/headers.rb +44 -0
  41. data/lib/troo/api/oauth_settings.rb +36 -0
  42. data/lib/troo/api/request.rb +37 -0
  43. data/lib/troo/api/response.rb +31 -0
  44. data/lib/troo/cli/add.rb +8 -12
  45. data/lib/troo/cli/commands/add.rb +95 -0
  46. data/lib/troo/cli/commands/default.rb +44 -0
  47. data/lib/troo/cli/commands/move/card.rb +95 -0
  48. data/lib/troo/cli/commands/refresh.rb +80 -0
  49. data/lib/troo/cli/commands/refresh/all.rb +52 -0
  50. data/lib/troo/cli/commands/show.rb +56 -0
  51. data/lib/troo/cli/commands/show/show_boards.rb +36 -0
  52. data/lib/troo/cli/commands/show/show_comments.rb +54 -0
  53. data/lib/troo/cli/commands/status.rb +68 -0
  54. data/lib/troo/cli/default.rb +3 -3
  55. data/lib/troo/cli/main.rb +60 -9
  56. data/lib/troo/cli/refresh.rb +4 -4
  57. data/lib/troo/cli/show.rb +7 -7
  58. data/lib/troo/cli/thor_fixes.rb +1 -5
  59. data/lib/troo/configuration.rb +53 -0
  60. data/lib/troo/debug.rb +18 -0
  61. data/lib/troo/decorators/member.rb +2 -19
  62. data/lib/troo/decorators/resource.rb +130 -0
  63. data/lib/troo/helpers/decorator_helpers.rb +21 -74
  64. data/lib/troo/helpers/model_helpers.rb +19 -4
  65. data/lib/troo/helpers/remote_model_helpers.rb +54 -0
  66. data/lib/troo/models/board.rb +19 -11
  67. data/lib/troo/models/card.rb +20 -17
  68. data/lib/troo/models/comment.rb +28 -8
  69. data/lib/troo/models/list.rb +22 -14
  70. data/lib/troo/models/member.rb +21 -5
  71. data/lib/troo/models/refresh.rb +3 -4
  72. data/lib/troo/persistence/local.rb +63 -0
  73. data/lib/troo/presentation/formatter.rb +132 -0
  74. data/lib/troo/presentation/template.rb +0 -4
  75. data/lib/troo/presenters/board.rb +32 -51
  76. data/lib/troo/presenters/card.rb +4 -11
  77. data/lib/troo/presenters/comment.rb +30 -16
  78. data/lib/troo/presenters/list.rb +25 -21
  79. data/lib/troo/presenters/member.rb +1 -8
  80. data/lib/troo/remote/all.rb +16 -0
  81. data/lib/troo/remote/board.rb +64 -0
  82. data/lib/troo/remote/card.rb +81 -0
  83. data/lib/troo/remote/comment.rb +70 -0
  84. data/lib/troo/remote/comment_data.rb +11 -0
  85. data/lib/troo/remote/comment_data_board.rb +13 -0
  86. data/lib/troo/remote/comment_data_card.rb +15 -0
  87. data/lib/troo/remote/list.rb +49 -0
  88. data/lib/troo/remote/member.rb +75 -0
  89. data/lib/troo/remote/persistence/board.rb +57 -0
  90. data/lib/troo/remote/persistence/card.rb +59 -0
  91. data/lib/troo/remote/persistence/comment.rb +58 -0
  92. data/lib/troo/remote/persistence/list.rb +57 -0
  93. data/lib/troo/remote/persistence/move_card.rb +85 -0
  94. data/lib/troo/retrieval/local.rb +100 -0
  95. data/lib/troo/retrieval/remote.rb +91 -0
  96. data/lib/troo/troo.rb +42 -42
  97. data/lib/troo/version.rb +1 -1
  98. data/lib/troo/views/card.erb +8 -10
  99. data/lib/troo/views/comments.erb +4 -0
  100. data/test/cassettes/board_by_id.yml +21 -30
  101. data/test/cassettes/boards_all.yml +22 -90
  102. data/test/cassettes/card_by_id.yml +49 -0
  103. data/test/cassettes/cards_by_board_id.yml +22 -90
  104. data/test/cassettes/cards_by_list_id.yml +22 -87
  105. data/test/cassettes/comments_by_board_id.yml +22 -95
  106. data/test/cassettes/comments_by_card_id.yml +22 -87
  107. data/test/cassettes/create_board.yml +20 -32
  108. data/test/cassettes/create_card.yml +21 -35
  109. data/test/cassettes/create_comment.yml +19 -37
  110. data/test/cassettes/create_list.yml +18 -32
  111. data/test/cassettes/list_by_id.yml +46 -0
  112. data/test/cassettes/lists_by_board_id.yml +19 -91
  113. data/test/cassettes/member_by_id.yml +48 -0
  114. data/test/cassettes/members_by_board_id.yml +21 -82
  115. data/test/cassettes/move_card_board.yml +49 -0
  116. data/test/cassettes/move_card_list.yml +49 -0
  117. data/test/lib/troo/api/client_test.rb +75 -0
  118. data/test/lib/troo/api/endpoints_test.rb +48 -0
  119. data/test/lib/troo/api/headers_test.rb +27 -0
  120. data/test/lib/troo/api/oauth_settings_test.rb +10 -0
  121. data/test/lib/troo/api/request_test.rb +63 -0
  122. data/test/lib/troo/api/response_test.rb +15 -0
  123. data/test/lib/troo/cli/add_test.rb +113 -0
  124. data/test/lib/troo/cli/commands/add_test.rb +66 -0
  125. data/test/lib/troo/cli/commands/default_test.rb +39 -0
  126. data/test/lib/troo/cli/commands/move/card_test.rb +86 -0
  127. data/test/lib/troo/cli/commands/refresh/all_test.rb +37 -0
  128. data/test/lib/troo/cli/commands/refresh_test.rb +59 -0
  129. data/test/lib/troo/cli/commands/show/show_boards_test.rb +35 -0
  130. data/test/lib/troo/cli/commands/show/show_comments_test.rb +63 -0
  131. data/test/lib/troo/cli/commands/show_test.rb +65 -0
  132. data/test/lib/troo/cli/commands/status_test.rb +48 -0
  133. data/test/lib/troo/cli/default_test.rb +39 -0
  134. data/test/lib/troo/cli/main_test.rb +102 -0
  135. data/test/lib/troo/cli/refresh_test.rb +43 -0
  136. data/test/lib/troo/cli/show_test.rb +49 -0
  137. data/test/lib/troo/cli/thor_fixes_test.rb +38 -0
  138. data/test/lib/troo/configuration_test.rb +43 -0
  139. data/test/lib/troo/debug_test.rb +25 -0
  140. data/test/lib/troo/decorators/card_test.rb +105 -229
  141. data/test/lib/troo/decorators/member_test.rb +20 -35
  142. data/test/lib/troo/decorators/resource_test.rb +157 -0
  143. data/test/lib/troo/helpers/decorator_helpers_test.rb +10 -19
  144. data/test/lib/troo/helpers/model_helpers_test.rb +18 -8
  145. data/test/lib/troo/helpers/remote_model_helpers_test.rb +68 -0
  146. data/test/lib/troo/models/behaviours/set_default_test.rb +0 -10
  147. data/test/lib/troo/models/board_test.rb +2 -2
  148. data/test/lib/troo/models/card_test.rb +2 -2
  149. data/test/lib/troo/models/comment_test.rb +6 -2
  150. data/test/lib/troo/models/list_test.rb +2 -2
  151. data/test/lib/troo/models/member_test.rb +6 -2
  152. data/test/lib/troo/persistence/local_test.rb +31 -0
  153. data/test/lib/troo/presentation/formatter_test.rb +31 -0
  154. data/test/lib/troo/presentation/sentence_test.rb +0 -12
  155. data/test/lib/troo/presentation/template_test.rb +1 -14
  156. data/test/lib/troo/presenters/board_test.rb +17 -36
  157. data/test/lib/troo/presenters/card_test.rb +1 -31
  158. data/test/lib/troo/presenters/comment_test.rb +19 -19
  159. data/test/lib/troo/presenters/list_test.rb +18 -18
  160. data/test/lib/troo/presenters/member_test.rb +1 -14
  161. data/test/lib/troo/remote/board_test.rb +66 -0
  162. data/test/lib/troo/remote/card_test.rb +81 -0
  163. data/test/lib/troo/remote/comment_data_board.rb +9 -0
  164. data/test/lib/troo/remote/comment_data_card_test.rb +9 -0
  165. data/test/lib/troo/remote/comment_data_test.rb +9 -0
  166. data/test/lib/troo/remote/comment_test.rb +100 -0
  167. data/test/lib/troo/remote/list_test.rb +67 -0
  168. data/test/lib/troo/remote/member_test.rb +70 -0
  169. data/test/lib/troo/remote/persistence/board_test.rb +39 -0
  170. data/test/lib/troo/remote/persistence/card_test.rb +50 -0
  171. data/test/lib/troo/remote/persistence/comment_test.rb +45 -0
  172. data/test/lib/troo/remote/persistence/list_test.rb +45 -0
  173. data/test/lib/troo/remote/persistence/move_card_test.rb +78 -0
  174. data/test/lib/troo/retrieval/local_test.rb +192 -0
  175. data/test/lib/troo/retrieval/remote_test.rb +49 -0
  176. data/test/support/fabrication.rb +17 -17
  177. data/test/support/fake_trello/fake_response.rb +38 -0
  178. data/test/support/fake_trello/server.rb +124 -0
  179. data/test/support/remotes/all_boards.json +41 -0
  180. data/test/support/remotes/board.json +140 -0
  181. data/test/support/remotes/board_by_id.json +75 -0
  182. data/test/support/remotes/card.json +40 -0
  183. data/test/support/remotes/card_by_card_id.json +302 -0
  184. data/test/support/remotes/comment.json +27 -0
  185. data/test/support/remotes/create_board.json +38 -0
  186. data/test/support/remotes/list.json +7 -0
  187. data/test/support/remotes/member.json +50 -0
  188. data/test/system_test.sh +21 -1
  189. data/test/test_helper.rb +2 -1
  190. data/troo.gemspec +28 -20
  191. metadata +376 -269
  192. data/configuration.yml.example +0 -7
  193. data/features/cleanup.feature +0 -13
  194. data/lib/troo/actions/create_board.rb +0 -46
  195. data/lib/troo/actions/create_card.rb +0 -44
  196. data/lib/troo/actions/create_comment.rb +0 -46
  197. data/lib/troo/actions/create_list.rb +0 -42
  198. data/lib/troo/actions/move_card.rb +0 -37
  199. data/lib/troo/adaptors/board.rb +0 -32
  200. data/lib/troo/adaptors/card.rb +0 -67
  201. data/lib/troo/adaptors/comment.rb +0 -42
  202. data/lib/troo/adaptors/list.rb +0 -37
  203. data/lib/troo/adaptors/member.rb +0 -52
  204. data/lib/troo/adaptors/resource.rb +0 -17
  205. data/lib/troo/commands/add/board.rb +0 -26
  206. data/lib/troo/commands/add/card.rb +0 -33
  207. data/lib/troo/commands/add/comment.rb +0 -33
  208. data/lib/troo/commands/add/list.rb +0 -33
  209. data/lib/troo/commands/add/resource.rb +0 -21
  210. data/lib/troo/commands/commands.rb +0 -28
  211. data/lib/troo/commands/default/board.rb +0 -25
  212. data/lib/troo/commands/default/card.rb +0 -25
  213. data/lib/troo/commands/default/list.rb +0 -25
  214. data/lib/troo/commands/default/resource.rb +0 -26
  215. data/lib/troo/commands/refresh/all.rb +0 -41
  216. data/lib/troo/commands/refresh/board.rb +0 -28
  217. data/lib/troo/commands/refresh/card.rb +0 -29
  218. data/lib/troo/commands/refresh/list.rb +0 -29
  219. data/lib/troo/commands/refresh/resource.rb +0 -42
  220. data/lib/troo/commands/show/board.rb +0 -13
  221. data/lib/troo/commands/show/boards.rb +0 -35
  222. data/lib/troo/commands/show/card.rb +0 -13
  223. data/lib/troo/commands/show/comments.rb +0 -21
  224. data/lib/troo/commands/show/list.rb +0 -13
  225. data/lib/troo/commands/show/resource.rb +0 -41
  226. data/lib/troo/commands/status/board.rb +0 -30
  227. data/lib/troo/commands/status/card.rb +0 -30
  228. data/lib/troo/commands/status/list.rb +0 -30
  229. data/lib/troo/commands/status/resource.rb +0 -34
  230. data/lib/troo/decorators/board.rb +0 -66
  231. data/lib/troo/decorators/card.rb +0 -105
  232. data/lib/troo/decorators/comment.rb +0 -36
  233. data/lib/troo/decorators/list.rb +0 -60
  234. data/lib/troo/external/board.rb +0 -31
  235. data/lib/troo/external/card.rb +0 -31
  236. data/lib/troo/external/comment.rb +0 -27
  237. data/lib/troo/external/list.rb +0 -27
  238. data/lib/troo/external/member.rb +0 -27
  239. data/lib/troo/external/resource.rb +0 -42
  240. data/lib/troo/helpers/command_helpers.rb +0 -37
  241. data/lib/troo/models/persistence/board.rb +0 -19
  242. data/lib/troo/models/persistence/card.rb +0 -19
  243. data/lib/troo/models/persistence/comment.rb +0 -19
  244. data/lib/troo/models/persistence/list.rb +0 -19
  245. data/lib/troo/models/persistence/member.rb +0 -19
  246. data/lib/troo/models/persistence/resource.rb +0 -50
  247. data/lib/troo/models/remote/comment.rb +0 -21
  248. data/lib/troo/models/remote/resource.rb +0 -25
  249. data/lib/troo/models/retrieval/board.rb +0 -29
  250. data/lib/troo/models/retrieval/card.rb +0 -33
  251. data/lib/troo/models/retrieval/comment.rb +0 -25
  252. data/lib/troo/models/retrieval/list.rb +0 -29
  253. data/lib/troo/models/retrieval/member.rb +0 -25
  254. data/lib/troo/models/retrieval/resource.rb +0 -36
  255. data/lib/troo/views/comment.erb +0 -3
  256. data/test/cassettes/card_by_card_id.yml +0 -58
  257. data/test/cassettes/comments_by_list_id.yml +0 -109
  258. data/test/cassettes/list_by_list_id.yml +0 -56
  259. data/test/cassettes/member_by_member_id.yml +0 -60
  260. data/test/cassettes/move_card.yml +0 -61
  261. data/test/lib/troo/actions/create_board_test.rb +0 -66
  262. data/test/lib/troo/actions/create_card_test.rb +0 -71
  263. data/test/lib/troo/actions/create_comment_test.rb +0 -71
  264. data/test/lib/troo/actions/create_list_test.rb +0 -65
  265. data/test/lib/troo/actions/move_card_test.rb +0 -54
  266. data/test/lib/troo/adaptors/board_test.rb +0 -38
  267. data/test/lib/troo/adaptors/card_test.rb +0 -49
  268. data/test/lib/troo/adaptors/comment_test.rb +0 -41
  269. data/test/lib/troo/adaptors/list_test.rb +0 -38
  270. data/test/lib/troo/adaptors/member_test.rb +0 -44
  271. data/test/lib/troo/commands/add/board_test.rb +0 -43
  272. data/test/lib/troo/commands/add/card_test.rb +0 -44
  273. data/test/lib/troo/commands/add/comment_test.rb +0 -44
  274. data/test/lib/troo/commands/add/list_test.rb +0 -44
  275. data/test/lib/troo/commands/add/resource_test.rb +0 -25
  276. data/test/lib/troo/commands/default/board_test.rb +0 -37
  277. data/test/lib/troo/commands/default/card_test.rb +0 -37
  278. data/test/lib/troo/commands/default/list_test.rb +0 -37
  279. data/test/lib/troo/commands/default/resource_test.rb +0 -20
  280. data/test/lib/troo/commands/refresh/all_test.rb +0 -39
  281. data/test/lib/troo/commands/refresh/board_test.rb +0 -62
  282. data/test/lib/troo/commands/refresh/card_test.rb +0 -62
  283. data/test/lib/troo/commands/refresh/list_test.rb +0 -62
  284. data/test/lib/troo/commands/refresh/resource_test.rb +0 -20
  285. data/test/lib/troo/commands/show/board_test.rb +0 -65
  286. data/test/lib/troo/commands/show/boards_test.rb +0 -36
  287. data/test/lib/troo/commands/show/card_test.rb +0 -64
  288. data/test/lib/troo/commands/show/comments_test.rb +0 -64
  289. data/test/lib/troo/commands/show/list_test.rb +0 -64
  290. data/test/lib/troo/commands/show/resource_test.rb +0 -25
  291. data/test/lib/troo/commands/status/board_test.rb +0 -43
  292. data/test/lib/troo/commands/status/card_test.rb +0 -43
  293. data/test/lib/troo/commands/status/list_test.rb +0 -43
  294. data/test/lib/troo/commands/status/resource_test.rb +0 -19
  295. data/test/lib/troo/decorators/board_test.rb +0 -129
  296. data/test/lib/troo/decorators/comment_test.rb +0 -74
  297. data/test/lib/troo/decorators/list_test.rb +0 -102
  298. data/test/lib/troo/external/board_test.rb +0 -102
  299. data/test/lib/troo/external/card_test.rb +0 -131
  300. data/test/lib/troo/external/comment_test.rb +0 -109
  301. data/test/lib/troo/external/list_test.rb +0 -94
  302. data/test/lib/troo/external/member_test.rb +0 -94
  303. data/test/lib/troo/external/resource_test.rb +0 -25
  304. data/test/lib/troo/helpers/command_helpers_test.rb +0 -82
  305. data/test/lib/troo/models/persistence/board_test.rb +0 -62
  306. data/test/lib/troo/models/persistence/card_test.rb +0 -61
  307. data/test/lib/troo/models/persistence/comment_test.rb +0 -69
  308. data/test/lib/troo/models/persistence/list_test.rb +0 -60
  309. data/test/lib/troo/models/persistence/member_test.rb +0 -60
  310. data/test/lib/troo/models/remote/comment_test.rb +0 -56
  311. data/test/lib/troo/models/remote/resource_test.rb +0 -26
  312. data/test/lib/troo/models/retrieval/board_test.rb +0 -93
  313. data/test/lib/troo/models/retrieval/card_test.rb +0 -101
  314. data/test/lib/troo/models/retrieval/comment_test.rb +0 -46
  315. data/test/lib/troo/models/retrieval/list_test.rb +0 -93
  316. data/test/lib/troo/models/retrieval/member_test.rb +0 -58
@@ -1,7 +0,0 @@
1
- key: some_key
2
- secret: some_secret
3
- oauth_token: some_oauth_token
4
- oauth_token_secret:
5
- main_db: 1
6
- test_db: 2
7
-
@@ -1,13 +0,0 @@
1
- Feature: Removing all local data
2
-
3
- @pending @cleanup
4
- Scenario: User confirms removal should occur
5
- When I run `troo cleanup` interactively
6
- And I type "yes"
7
- Then the output should contain "All local data has been removed."
8
-
9
- @pending @cleanup
10
- Scenario: User cancels removal
11
- When I run `troo cleanup` interactively
12
- And I type "no"
13
- Then the output should not contain "All local data has been removed."
@@ -1,46 +0,0 @@
1
- module Troo
2
- class CreateBoard
3
- class << self
4
- def with(name, description = nil)
5
- new(name, description).perform
6
- end
7
- end
8
-
9
- def initialize(name, description = nil)
10
- @name = name
11
- @description = description
12
- end
13
-
14
- def perform
15
- create_local
16
- end
17
-
18
- private
19
-
20
- attr_reader :name, :description
21
-
22
- def create_local
23
- if create_remote
24
- Persistence::Board.for(create_remote)
25
- # refresh for lists
26
- else
27
- false
28
- end
29
- end
30
-
31
- def create_remote
32
- @board ||= Trello::Board.create(attributes)
33
- rescue Trello::InvalidAccessToken
34
- raise Troo::InvalidAccessToken
35
- rescue Trello::Error
36
- false
37
- end
38
-
39
- def attributes
40
- {
41
- name: name,
42
- description: description
43
- }
44
- end
45
- end
46
- end
@@ -1,44 +0,0 @@
1
- module Troo
2
- class CreateCard
3
- class << self
4
- def for(list, name = nil, description = nil)
5
- new(list, name, description).perform
6
- end
7
- end
8
-
9
- def initialize(list, name = nil, description = nil)
10
- @list = list
11
- @name = name
12
- @description = description
13
- end
14
-
15
- def perform
16
- create_local
17
- end
18
-
19
- private
20
-
21
- attr_reader :list, :name, :description
22
-
23
- def create_local
24
- return Persistence::Card.for(create_remote) if create_remote
25
- false
26
- end
27
-
28
- def create_remote
29
- @card ||= Trello::Card.create(attributes)
30
- rescue Trello::InvalidAccessToken
31
- raise Troo::InvalidAccessToken
32
- rescue Trello::Error
33
- false
34
- end
35
-
36
- def attributes
37
- {
38
- name: name,
39
- list_id: list.external_list_id,
40
- desc: description
41
- }
42
- end
43
- end
44
- end
@@ -1,46 +0,0 @@
1
- module Troo
2
- class CreateComment
3
- class << self
4
- def for(card, comment)
5
- new(card, comment).perform
6
- end
7
- end
8
-
9
- def initialize(card, comment)
10
- @card = card
11
- @comment = comment
12
- end
13
-
14
- def perform
15
- create_local
16
- end
17
-
18
- private
19
-
20
- attr_reader :card, :comment
21
- attr_accessor :comment_resource
22
-
23
- def create_local
24
- return Persistence::Comment.for(resource) if create_remote
25
- false
26
- end
27
-
28
- def resource
29
- Remote::Comment.create(comment_resource)
30
- end
31
-
32
- def create_remote
33
- @comment_resource ||= Trello::Card.new
34
- .update_fields(attributes)
35
- .add_comment(comment)
36
- rescue Trello::InvalidAccessToken
37
- raise Troo::InvalidAccessToken
38
- rescue Trello::Error
39
- false
40
- end
41
-
42
- def attributes
43
- { 'id' => card.external_card_id }
44
- end
45
- end
46
- end
@@ -1,42 +0,0 @@
1
- module Troo
2
- class CreateList
3
- class << self
4
- def for(board, name)
5
- new(board, name).perform
6
- end
7
- end
8
-
9
- def initialize(board, name)
10
- @board = board
11
- @name = name
12
- end
13
-
14
- def perform
15
- create_local
16
- end
17
-
18
- private
19
-
20
- attr_reader :board, :name
21
-
22
- def create_local
23
- return Persistence::List.for(create_remote) if create_remote
24
- false
25
- end
26
-
27
- def create_remote
28
- @list ||= Trello::List.create(attributes)
29
- rescue Trello::InvalidAccessToken
30
- raise Troo::InvalidAccessToken
31
- rescue Trello::Error
32
- false
33
- end
34
-
35
- def attributes
36
- {
37
- name: name,
38
- board_id: board.external_board_id
39
- }
40
- end
41
- end
42
- end
@@ -1,37 +0,0 @@
1
- module Troo
2
- class MoveCard
3
- class << self
4
- def with(card, list)
5
- new(card, list).perform
6
- end
7
- end
8
-
9
- def initialize(card, list)
10
- @card = card
11
- @list = list
12
- end
13
-
14
- def perform
15
- return update_cards if move_card
16
- false
17
- end
18
-
19
- private
20
-
21
- attr_reader :card, :list
22
-
23
- def update_cards
24
- Troo::External::Card.fetch(card.external_board_id)
25
- end
26
-
27
- def move_card
28
- Trello::Card.new
29
- .update_fields('id' => card.external_card_id)
30
- .move_to_list(list.external_list_id)
31
- rescue Trello::InvalidAccessToken
32
- raise Troo::InvalidAccessToken
33
- rescue Trello::Error
34
- false
35
- end
36
- end
37
- end
@@ -1,32 +0,0 @@
1
- module Troo
2
- module Adaptors
3
- class Board < Resource
4
- def adapted
5
- {
6
- external_board_id: external_board_id,
7
- name: name,
8
- description: description,
9
- closed: closed
10
- }
11
- end
12
-
13
- private
14
-
15
- def external_board_id
16
- resource.id
17
- end
18
-
19
- def name
20
- resource.name
21
- end
22
-
23
- def description
24
- resource.description
25
- end
26
-
27
- def closed
28
- resource.closed.to_s
29
- end
30
- end
31
- end
32
- end
@@ -1,67 +0,0 @@
1
- module Troo
2
- module Adaptors
3
- class Card < Resource
4
- def adapted
5
- {
6
- external_board_id: external_board_id,
7
- external_list_id: external_list_id,
8
- external_card_id: external_card_id,
9
- external_member_ids: external_member_ids,
10
- short_id: short_id,
11
- name: name,
12
- desc: desc,
13
- url: url,
14
- position: position,
15
- last_activity_date: last_activity_date,
16
- closed: closed
17
- }
18
- end
19
-
20
- private
21
-
22
- def external_board_id
23
- resource.board_id
24
- end
25
-
26
- def external_list_id
27
- resource.list_id
28
- end
29
-
30
- def external_card_id
31
- resource.id
32
- end
33
-
34
- def external_member_ids
35
- resource.member_ids.to_s.gsub(' ', '')
36
- end
37
-
38
- def short_id
39
- resource.short_id.to_s
40
- end
41
-
42
- def name
43
- resource.name
44
- end
45
-
46
- def desc
47
- resource.desc
48
- end
49
-
50
- def url
51
- resource.url
52
- end
53
-
54
- def position
55
- resource.pos.to_s
56
- end
57
-
58
- def last_activity_date
59
- resource.last_activity_date.to_s
60
- end
61
-
62
- def closed
63
- resource.closed.to_s
64
- end
65
- end
66
- end
67
- end
@@ -1,42 +0,0 @@
1
- module Troo
2
- module Adaptors
3
- class Comment < Resource
4
- def adapted
5
- {
6
- external_comment_id: external_comment_id,
7
- external_board_id: external_board_id,
8
- external_card_id: external_card_id,
9
- external_member_id: external_member_id,
10
- date: date,
11
- text: text
12
- }
13
- end
14
-
15
- private
16
-
17
- def external_comment_id
18
- resource.id
19
- end
20
-
21
- def external_board_id
22
- resource.data.fetch('board', {}).fetch('id', '')
23
- end
24
-
25
- def external_card_id
26
- resource.data.fetch('card', {}).fetch('id', '')
27
- end
28
-
29
- def external_member_id
30
- resource.member_creator_id
31
- end
32
-
33
- def date
34
- resource.date.to_s
35
- end
36
-
37
- def text
38
- resource.data.fetch('text', '')
39
- end
40
- end
41
- end
42
- end
@@ -1,37 +0,0 @@
1
- module Troo
2
- module Adaptors
3
- class List < Resource
4
- def adapted
5
- {
6
- external_board_id: external_board_id,
7
- external_list_id: external_list_id,
8
- name: name,
9
- position: position,
10
- closed: closed
11
- }
12
- end
13
-
14
- private
15
-
16
- def external_board_id
17
- resource.board_id
18
- end
19
-
20
- def external_list_id
21
- resource.id
22
- end
23
-
24
- def name
25
- resource.name
26
- end
27
-
28
- def position
29
- resource.pos.to_s
30
- end
31
-
32
- def closed
33
- resource.closed.to_s
34
- end
35
- end
36
- end
37
- end
@@ -1,52 +0,0 @@
1
- module Troo
2
- module Adaptors
3
- class Member < Resource
4
- def adapted
5
- {
6
- external_member_id: external_member_id,
7
- username: username,
8
- email: email,
9
- full_name: full_name,
10
- initials: initials,
11
- avatar_id: avatar_id,
12
- bio: bio,
13
- url: url
14
- }
15
- end
16
-
17
- private
18
-
19
- def external_member_id
20
- resource.id
21
- end
22
-
23
- def username
24
- resource.username
25
- end
26
-
27
- def email
28
- resource.email
29
- end
30
-
31
- def full_name
32
- resource.full_name
33
- end
34
-
35
- def initials
36
- resource.initials
37
- end
38
-
39
- def avatar_id
40
- resource.avatar_id
41
- end
42
-
43
- def bio
44
- resource.bio
45
- end
46
-
47
- def url
48
- resource.url
49
- end
50
- end
51
- end
52
- end