troo 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/.ruby-version +1 -1
- data/.trooconf.example +18 -0
- data/Gemfile.lock +178 -0
- data/README.md +77 -21
- data/Rakefile +1 -1
- data/bin/completion.bash +10 -0
- data/bin/completion.zsh +10 -0
- data/bin/init.sh +15 -0
- data/bin/troo +12 -3
- data/config/cucumber.yml +3 -3
- data/config/en.yml +29 -0
- data/config/trello_api.yml +19 -0
- data/features/add/board.feature +3 -19
- data/features/add/card.feature +14 -18
- data/features/add/comment.feature +14 -14
- data/features/add/list.feature +11 -14
- data/features/default/board.feature +4 -4
- data/features/default/card.feature +4 -4
- data/features/default/list.feature +4 -4
- data/features/move/card.feature +54 -0
- data/features/refresh/all.feature +8 -4
- data/features/refresh/board.feature +9 -6
- data/features/refresh/card.feature +9 -6
- data/features/refresh/list.feature +9 -6
- data/features/show/board.feature +7 -7
- data/features/show/boards.feature +19 -0
- data/features/show/card.feature +86 -15
- data/features/show/comment.feature +14 -12
- data/features/show/list.feature +19 -14
- data/features/status.feature +27 -13
- data/features/step_definitions/fabrication_steps.rb +43 -8
- data/features/step_definitions/troo_steps.rb +3 -2
- data/features/support/env.rb +1 -0
- data/features/troo.feature +0 -12
- data/lib/troo.rb +32 -29
- data/lib/troo/api/client.rb +117 -0
- data/lib/troo/api/endpoints.rb +39 -0
- data/lib/troo/api/headers.rb +44 -0
- data/lib/troo/api/oauth_settings.rb +36 -0
- data/lib/troo/api/request.rb +37 -0
- data/lib/troo/api/response.rb +31 -0
- data/lib/troo/cli/add.rb +8 -12
- data/lib/troo/cli/commands/add.rb +95 -0
- data/lib/troo/cli/commands/default.rb +44 -0
- data/lib/troo/cli/commands/move/card.rb +95 -0
- data/lib/troo/cli/commands/refresh.rb +80 -0
- data/lib/troo/cli/commands/refresh/all.rb +52 -0
- data/lib/troo/cli/commands/show.rb +56 -0
- data/lib/troo/cli/commands/show/show_boards.rb +36 -0
- data/lib/troo/cli/commands/show/show_comments.rb +54 -0
- data/lib/troo/cli/commands/status.rb +68 -0
- data/lib/troo/cli/default.rb +3 -3
- data/lib/troo/cli/main.rb +60 -9
- data/lib/troo/cli/refresh.rb +4 -4
- data/lib/troo/cli/show.rb +7 -7
- data/lib/troo/cli/thor_fixes.rb +1 -5
- data/lib/troo/configuration.rb +53 -0
- data/lib/troo/debug.rb +18 -0
- data/lib/troo/decorators/member.rb +2 -19
- data/lib/troo/decorators/resource.rb +130 -0
- data/lib/troo/helpers/decorator_helpers.rb +21 -74
- data/lib/troo/helpers/model_helpers.rb +19 -4
- data/lib/troo/helpers/remote_model_helpers.rb +54 -0
- data/lib/troo/models/board.rb +19 -11
- data/lib/troo/models/card.rb +20 -17
- data/lib/troo/models/comment.rb +28 -8
- data/lib/troo/models/list.rb +22 -14
- data/lib/troo/models/member.rb +21 -5
- data/lib/troo/models/refresh.rb +3 -4
- data/lib/troo/persistence/local.rb +63 -0
- data/lib/troo/presentation/formatter.rb +132 -0
- data/lib/troo/presentation/template.rb +0 -4
- data/lib/troo/presenters/board.rb +32 -51
- data/lib/troo/presenters/card.rb +4 -11
- data/lib/troo/presenters/comment.rb +30 -16
- data/lib/troo/presenters/list.rb +25 -21
- data/lib/troo/presenters/member.rb +1 -8
- data/lib/troo/remote/all.rb +16 -0
- data/lib/troo/remote/board.rb +64 -0
- data/lib/troo/remote/card.rb +81 -0
- data/lib/troo/remote/comment.rb +70 -0
- data/lib/troo/remote/comment_data.rb +11 -0
- data/lib/troo/remote/comment_data_board.rb +13 -0
- data/lib/troo/remote/comment_data_card.rb +15 -0
- data/lib/troo/remote/list.rb +49 -0
- data/lib/troo/remote/member.rb +75 -0
- data/lib/troo/remote/persistence/board.rb +57 -0
- data/lib/troo/remote/persistence/card.rb +59 -0
- data/lib/troo/remote/persistence/comment.rb +58 -0
- data/lib/troo/remote/persistence/list.rb +57 -0
- data/lib/troo/remote/persistence/move_card.rb +85 -0
- data/lib/troo/retrieval/local.rb +100 -0
- data/lib/troo/retrieval/remote.rb +91 -0
- data/lib/troo/troo.rb +42 -42
- data/lib/troo/version.rb +1 -1
- data/lib/troo/views/card.erb +8 -10
- data/lib/troo/views/comments.erb +4 -0
- data/test/cassettes/board_by_id.yml +21 -30
- data/test/cassettes/boards_all.yml +22 -90
- data/test/cassettes/card_by_id.yml +49 -0
- data/test/cassettes/cards_by_board_id.yml +22 -90
- data/test/cassettes/cards_by_list_id.yml +22 -87
- data/test/cassettes/comments_by_board_id.yml +22 -95
- data/test/cassettes/comments_by_card_id.yml +22 -87
- data/test/cassettes/create_board.yml +20 -32
- data/test/cassettes/create_card.yml +21 -35
- data/test/cassettes/create_comment.yml +19 -37
- data/test/cassettes/create_list.yml +18 -32
- data/test/cassettes/list_by_id.yml +46 -0
- data/test/cassettes/lists_by_board_id.yml +19 -91
- data/test/cassettes/member_by_id.yml +48 -0
- data/test/cassettes/members_by_board_id.yml +21 -82
- data/test/cassettes/move_card_board.yml +49 -0
- data/test/cassettes/move_card_list.yml +49 -0
- data/test/lib/troo/api/client_test.rb +75 -0
- data/test/lib/troo/api/endpoints_test.rb +48 -0
- data/test/lib/troo/api/headers_test.rb +27 -0
- data/test/lib/troo/api/oauth_settings_test.rb +10 -0
- data/test/lib/troo/api/request_test.rb +63 -0
- data/test/lib/troo/api/response_test.rb +15 -0
- data/test/lib/troo/cli/add_test.rb +113 -0
- data/test/lib/troo/cli/commands/add_test.rb +66 -0
- data/test/lib/troo/cli/commands/default_test.rb +39 -0
- data/test/lib/troo/cli/commands/move/card_test.rb +86 -0
- data/test/lib/troo/cli/commands/refresh/all_test.rb +37 -0
- data/test/lib/troo/cli/commands/refresh_test.rb +59 -0
- data/test/lib/troo/cli/commands/show/show_boards_test.rb +35 -0
- data/test/lib/troo/cli/commands/show/show_comments_test.rb +63 -0
- data/test/lib/troo/cli/commands/show_test.rb +65 -0
- data/test/lib/troo/cli/commands/status_test.rb +48 -0
- data/test/lib/troo/cli/default_test.rb +39 -0
- data/test/lib/troo/cli/main_test.rb +102 -0
- data/test/lib/troo/cli/refresh_test.rb +43 -0
- data/test/lib/troo/cli/show_test.rb +49 -0
- data/test/lib/troo/cli/thor_fixes_test.rb +38 -0
- data/test/lib/troo/configuration_test.rb +43 -0
- data/test/lib/troo/debug_test.rb +25 -0
- data/test/lib/troo/decorators/card_test.rb +105 -229
- data/test/lib/troo/decorators/member_test.rb +20 -35
- data/test/lib/troo/decorators/resource_test.rb +157 -0
- data/test/lib/troo/helpers/decorator_helpers_test.rb +10 -19
- data/test/lib/troo/helpers/model_helpers_test.rb +18 -8
- data/test/lib/troo/helpers/remote_model_helpers_test.rb +68 -0
- data/test/lib/troo/models/behaviours/set_default_test.rb +0 -10
- data/test/lib/troo/models/board_test.rb +2 -2
- data/test/lib/troo/models/card_test.rb +2 -2
- data/test/lib/troo/models/comment_test.rb +6 -2
- data/test/lib/troo/models/list_test.rb +2 -2
- data/test/lib/troo/models/member_test.rb +6 -2
- data/test/lib/troo/persistence/local_test.rb +31 -0
- data/test/lib/troo/presentation/formatter_test.rb +31 -0
- data/test/lib/troo/presentation/sentence_test.rb +0 -12
- data/test/lib/troo/presentation/template_test.rb +1 -14
- data/test/lib/troo/presenters/board_test.rb +17 -36
- data/test/lib/troo/presenters/card_test.rb +1 -31
- data/test/lib/troo/presenters/comment_test.rb +19 -19
- data/test/lib/troo/presenters/list_test.rb +18 -18
- data/test/lib/troo/presenters/member_test.rb +1 -14
- data/test/lib/troo/remote/board_test.rb +66 -0
- data/test/lib/troo/remote/card_test.rb +81 -0
- data/test/lib/troo/remote/comment_data_board.rb +9 -0
- data/test/lib/troo/remote/comment_data_card_test.rb +9 -0
- data/test/lib/troo/remote/comment_data_test.rb +9 -0
- data/test/lib/troo/remote/comment_test.rb +100 -0
- data/test/lib/troo/remote/list_test.rb +67 -0
- data/test/lib/troo/remote/member_test.rb +70 -0
- data/test/lib/troo/remote/persistence/board_test.rb +39 -0
- data/test/lib/troo/remote/persistence/card_test.rb +50 -0
- data/test/lib/troo/remote/persistence/comment_test.rb +45 -0
- data/test/lib/troo/remote/persistence/list_test.rb +45 -0
- data/test/lib/troo/remote/persistence/move_card_test.rb +78 -0
- data/test/lib/troo/retrieval/local_test.rb +192 -0
- data/test/lib/troo/retrieval/remote_test.rb +49 -0
- data/test/support/fabrication.rb +17 -17
- data/test/support/fake_trello/fake_response.rb +38 -0
- data/test/support/fake_trello/server.rb +124 -0
- data/test/support/remotes/all_boards.json +41 -0
- data/test/support/remotes/board.json +140 -0
- data/test/support/remotes/board_by_id.json +75 -0
- data/test/support/remotes/card.json +40 -0
- data/test/support/remotes/card_by_card_id.json +302 -0
- data/test/support/remotes/comment.json +27 -0
- data/test/support/remotes/create_board.json +38 -0
- data/test/support/remotes/list.json +7 -0
- data/test/support/remotes/member.json +50 -0
- data/test/system_test.sh +21 -1
- data/test/test_helper.rb +2 -1
- data/troo.gemspec +28 -20
- metadata +376 -269
- data/configuration.yml.example +0 -7
- data/features/cleanup.feature +0 -13
- data/lib/troo/actions/create_board.rb +0 -46
- data/lib/troo/actions/create_card.rb +0 -44
- data/lib/troo/actions/create_comment.rb +0 -46
- data/lib/troo/actions/create_list.rb +0 -42
- data/lib/troo/actions/move_card.rb +0 -37
- data/lib/troo/adaptors/board.rb +0 -32
- data/lib/troo/adaptors/card.rb +0 -67
- data/lib/troo/adaptors/comment.rb +0 -42
- data/lib/troo/adaptors/list.rb +0 -37
- data/lib/troo/adaptors/member.rb +0 -52
- data/lib/troo/adaptors/resource.rb +0 -17
- data/lib/troo/commands/add/board.rb +0 -26
- data/lib/troo/commands/add/card.rb +0 -33
- data/lib/troo/commands/add/comment.rb +0 -33
- data/lib/troo/commands/add/list.rb +0 -33
- data/lib/troo/commands/add/resource.rb +0 -21
- data/lib/troo/commands/commands.rb +0 -28
- data/lib/troo/commands/default/board.rb +0 -25
- data/lib/troo/commands/default/card.rb +0 -25
- data/lib/troo/commands/default/list.rb +0 -25
- data/lib/troo/commands/default/resource.rb +0 -26
- data/lib/troo/commands/refresh/all.rb +0 -41
- data/lib/troo/commands/refresh/board.rb +0 -28
- data/lib/troo/commands/refresh/card.rb +0 -29
- data/lib/troo/commands/refresh/list.rb +0 -29
- data/lib/troo/commands/refresh/resource.rb +0 -42
- data/lib/troo/commands/show/board.rb +0 -13
- data/lib/troo/commands/show/boards.rb +0 -35
- data/lib/troo/commands/show/card.rb +0 -13
- data/lib/troo/commands/show/comments.rb +0 -21
- data/lib/troo/commands/show/list.rb +0 -13
- data/lib/troo/commands/show/resource.rb +0 -41
- data/lib/troo/commands/status/board.rb +0 -30
- data/lib/troo/commands/status/card.rb +0 -30
- data/lib/troo/commands/status/list.rb +0 -30
- data/lib/troo/commands/status/resource.rb +0 -34
- data/lib/troo/decorators/board.rb +0 -66
- data/lib/troo/decorators/card.rb +0 -105
- data/lib/troo/decorators/comment.rb +0 -36
- data/lib/troo/decorators/list.rb +0 -60
- data/lib/troo/external/board.rb +0 -31
- data/lib/troo/external/card.rb +0 -31
- data/lib/troo/external/comment.rb +0 -27
- data/lib/troo/external/list.rb +0 -27
- data/lib/troo/external/member.rb +0 -27
- data/lib/troo/external/resource.rb +0 -42
- data/lib/troo/helpers/command_helpers.rb +0 -37
- data/lib/troo/models/persistence/board.rb +0 -19
- data/lib/troo/models/persistence/card.rb +0 -19
- data/lib/troo/models/persistence/comment.rb +0 -19
- data/lib/troo/models/persistence/list.rb +0 -19
- data/lib/troo/models/persistence/member.rb +0 -19
- data/lib/troo/models/persistence/resource.rb +0 -50
- data/lib/troo/models/remote/comment.rb +0 -21
- data/lib/troo/models/remote/resource.rb +0 -25
- data/lib/troo/models/retrieval/board.rb +0 -29
- data/lib/troo/models/retrieval/card.rb +0 -33
- data/lib/troo/models/retrieval/comment.rb +0 -25
- data/lib/troo/models/retrieval/list.rb +0 -29
- data/lib/troo/models/retrieval/member.rb +0 -25
- data/lib/troo/models/retrieval/resource.rb +0 -36
- data/lib/troo/views/comment.erb +0 -3
- data/test/cassettes/card_by_card_id.yml +0 -58
- data/test/cassettes/comments_by_list_id.yml +0 -109
- data/test/cassettes/list_by_list_id.yml +0 -56
- data/test/cassettes/member_by_member_id.yml +0 -60
- data/test/cassettes/move_card.yml +0 -61
- data/test/lib/troo/actions/create_board_test.rb +0 -66
- data/test/lib/troo/actions/create_card_test.rb +0 -71
- data/test/lib/troo/actions/create_comment_test.rb +0 -71
- data/test/lib/troo/actions/create_list_test.rb +0 -65
- data/test/lib/troo/actions/move_card_test.rb +0 -54
- data/test/lib/troo/adaptors/board_test.rb +0 -38
- data/test/lib/troo/adaptors/card_test.rb +0 -49
- data/test/lib/troo/adaptors/comment_test.rb +0 -41
- data/test/lib/troo/adaptors/list_test.rb +0 -38
- data/test/lib/troo/adaptors/member_test.rb +0 -44
- data/test/lib/troo/commands/add/board_test.rb +0 -43
- data/test/lib/troo/commands/add/card_test.rb +0 -44
- data/test/lib/troo/commands/add/comment_test.rb +0 -44
- data/test/lib/troo/commands/add/list_test.rb +0 -44
- data/test/lib/troo/commands/add/resource_test.rb +0 -25
- data/test/lib/troo/commands/default/board_test.rb +0 -37
- data/test/lib/troo/commands/default/card_test.rb +0 -37
- data/test/lib/troo/commands/default/list_test.rb +0 -37
- data/test/lib/troo/commands/default/resource_test.rb +0 -20
- data/test/lib/troo/commands/refresh/all_test.rb +0 -39
- data/test/lib/troo/commands/refresh/board_test.rb +0 -62
- data/test/lib/troo/commands/refresh/card_test.rb +0 -62
- data/test/lib/troo/commands/refresh/list_test.rb +0 -62
- data/test/lib/troo/commands/refresh/resource_test.rb +0 -20
- data/test/lib/troo/commands/show/board_test.rb +0 -65
- data/test/lib/troo/commands/show/boards_test.rb +0 -36
- data/test/lib/troo/commands/show/card_test.rb +0 -64
- data/test/lib/troo/commands/show/comments_test.rb +0 -64
- data/test/lib/troo/commands/show/list_test.rb +0 -64
- data/test/lib/troo/commands/show/resource_test.rb +0 -25
- data/test/lib/troo/commands/status/board_test.rb +0 -43
- data/test/lib/troo/commands/status/card_test.rb +0 -43
- data/test/lib/troo/commands/status/list_test.rb +0 -43
- data/test/lib/troo/commands/status/resource_test.rb +0 -19
- data/test/lib/troo/decorators/board_test.rb +0 -129
- data/test/lib/troo/decorators/comment_test.rb +0 -74
- data/test/lib/troo/decorators/list_test.rb +0 -102
- data/test/lib/troo/external/board_test.rb +0 -102
- data/test/lib/troo/external/card_test.rb +0 -131
- data/test/lib/troo/external/comment_test.rb +0 -109
- data/test/lib/troo/external/list_test.rb +0 -94
- data/test/lib/troo/external/member_test.rb +0 -94
- data/test/lib/troo/external/resource_test.rb +0 -25
- data/test/lib/troo/helpers/command_helpers_test.rb +0 -82
- data/test/lib/troo/models/persistence/board_test.rb +0 -62
- data/test/lib/troo/models/persistence/card_test.rb +0 -61
- data/test/lib/troo/models/persistence/comment_test.rb +0 -69
- data/test/lib/troo/models/persistence/list_test.rb +0 -60
- data/test/lib/troo/models/persistence/member_test.rb +0 -60
- data/test/lib/troo/models/remote/comment_test.rb +0 -56
- data/test/lib/troo/models/remote/resource_test.rb +0 -26
- data/test/lib/troo/models/retrieval/board_test.rb +0 -93
- data/test/lib/troo/models/retrieval/card_test.rb +0 -101
- data/test/lib/troo/models/retrieval/comment_test.rb +0 -46
- data/test/lib/troo/models/retrieval/list_test.rb +0 -93
- data/test/lib/troo/models/retrieval/member_test.rb +0 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e562cb940c1670f9685dab12000647ecbce6b8a1
|
4
|
+
data.tar.gz: 4bb70fcdaac0084038d99e5cff7232b765bc0718
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d136fa04838de005b32223db2dfc78340741edf1df0179b71a3d441aa0c072ef7f656e45fe84e45cbdea6833c4c848452ac8838071a7106d8e520199c9c381d
|
7
|
+
data.tar.gz: 9b3e03a4587a2d70a1c4885a5f0e5c6660ea35227772541aff74902308ae73eedf28981f6232fe37a5e1124fd540dcfc7b2ec75c48e29c52cbf3752f5e4164ac
|
data/.gitignore
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
.bundle
|
4
4
|
.config
|
5
5
|
.yardoc
|
6
|
-
Gemfile.lock
|
7
6
|
InstalledFiles
|
8
7
|
_yardoc
|
9
8
|
coverage
|
@@ -15,9 +14,12 @@ rerun.txt
|
|
15
14
|
spec/reports
|
16
15
|
test/tmp
|
17
16
|
test/version_tmp
|
17
|
+
test/support/.trooconf
|
18
18
|
tmp
|
19
19
|
|
20
20
|
features/support/fixtures/cassettes/*.yml
|
21
21
|
logs/*.log
|
22
22
|
troo.db
|
23
23
|
tags
|
24
|
+
test/support/fake_trello/my-server.crt
|
25
|
+
test/support/fake_trello/my-server.key
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.1
|
data/.trooconf.example
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
default:
|
2
|
+
api_url: http://www.example.com
|
3
|
+
api_key: some_key
|
4
|
+
api_token: some_secret
|
5
|
+
api_oauth_token: some_oauth_token
|
6
|
+
api_oauth_token_secret: some_oauth_token_secret
|
7
|
+
database: 1
|
8
|
+
allow_remote: true
|
9
|
+
logs: true
|
10
|
+
test:
|
11
|
+
api_url: http://www.example.com
|
12
|
+
api_key: some_key
|
13
|
+
api_token: some_secret
|
14
|
+
api_oauth_token: some_oauth_token
|
15
|
+
api_oauth_token_secret: some_oauth_token_secret
|
16
|
+
database: 2
|
17
|
+
allow_remote: true
|
18
|
+
logs: true
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
troo (0.0.8)
|
5
|
+
addressable
|
6
|
+
dispel
|
7
|
+
json
|
8
|
+
oauth
|
9
|
+
ohm
|
10
|
+
ohm-contrib
|
11
|
+
pry
|
12
|
+
pry-nav
|
13
|
+
rest-client
|
14
|
+
term-ansicolor
|
15
|
+
thor
|
16
|
+
virtus
|
17
|
+
yajl-ruby
|
18
|
+
|
19
|
+
GEM
|
20
|
+
remote: https://rubygems.org/
|
21
|
+
specs:
|
22
|
+
addressable (2.3.5)
|
23
|
+
aruba (0.5.4)
|
24
|
+
childprocess (>= 0.3.6)
|
25
|
+
cucumber (>= 1.1.1)
|
26
|
+
rspec-expectations (>= 2.7.0)
|
27
|
+
ast (1.1.0)
|
28
|
+
axiom-types (0.0.5)
|
29
|
+
descendants_tracker (~> 0.0.1)
|
30
|
+
ice_nine (~> 0.9)
|
31
|
+
builder (3.2.2)
|
32
|
+
celluloid (0.15.2)
|
33
|
+
timers (~> 1.1.0)
|
34
|
+
celluloid-io (0.15.0)
|
35
|
+
celluloid (>= 0.15.0)
|
36
|
+
nio4r (>= 0.5.0)
|
37
|
+
childprocess (0.5.1)
|
38
|
+
ffi (~> 1.0, >= 1.0.11)
|
39
|
+
coderay (1.1.0)
|
40
|
+
coercible (1.0.0)
|
41
|
+
descendants_tracker (~> 0.0.1)
|
42
|
+
crack (0.4.2)
|
43
|
+
safe_yaml (~> 1.0.0)
|
44
|
+
cucumber (1.3.11)
|
45
|
+
builder (>= 2.1.2)
|
46
|
+
diff-lcs (>= 1.1.3)
|
47
|
+
gherkin (~> 2.12)
|
48
|
+
multi_json (>= 1.7.5, < 2.0)
|
49
|
+
multi_test (>= 0.0.2)
|
50
|
+
curses (1.0.0)
|
51
|
+
descendants_tracker (0.0.3)
|
52
|
+
diff-lcs (1.2.5)
|
53
|
+
dispel (0.0.7)
|
54
|
+
curses
|
55
|
+
docile (1.1.3)
|
56
|
+
equalizer (0.0.9)
|
57
|
+
fabrication (2.9.8)
|
58
|
+
ffi (1.9.3)
|
59
|
+
formatador (0.2.4)
|
60
|
+
gherkin (2.12.2)
|
61
|
+
multi_json (~> 1.3)
|
62
|
+
guard (2.5.1)
|
63
|
+
formatador (>= 0.2.4)
|
64
|
+
listen (~> 2.6)
|
65
|
+
lumberjack (~> 1.0)
|
66
|
+
pry (>= 0.9.12)
|
67
|
+
thor (>= 0.18.1)
|
68
|
+
guard-cucumber (1.4.1)
|
69
|
+
cucumber (>= 1.2.0)
|
70
|
+
guard (>= 1.1.0)
|
71
|
+
guard-minitest (2.2.0)
|
72
|
+
guard (~> 2.0)
|
73
|
+
minitest (>= 3.0)
|
74
|
+
ice_nine (0.11.0)
|
75
|
+
json (1.8.1)
|
76
|
+
listen (2.6.2)
|
77
|
+
celluloid (>= 0.15.2)
|
78
|
+
celluloid-io (>= 0.15.0)
|
79
|
+
rb-fsevent (>= 0.9.3)
|
80
|
+
rb-inotify (>= 0.9)
|
81
|
+
lumberjack (1.0.4)
|
82
|
+
metaclass (0.0.4)
|
83
|
+
method_source (0.8.2)
|
84
|
+
mime-types (2.1)
|
85
|
+
minitest (5.3.0)
|
86
|
+
mocha (1.0.0)
|
87
|
+
metaclass (~> 0.0.1)
|
88
|
+
multi_json (1.8.4)
|
89
|
+
multi_test (0.0.3)
|
90
|
+
nest (1.1.2)
|
91
|
+
redis
|
92
|
+
nio4r (1.0.0)
|
93
|
+
oauth (0.4.7)
|
94
|
+
ohm (1.3.2)
|
95
|
+
nest (~> 1.0)
|
96
|
+
redis
|
97
|
+
scrivener (~> 0.0.3)
|
98
|
+
ohm-contrib (1.2)
|
99
|
+
ohm (~> 1.2)
|
100
|
+
parser (2.1.5)
|
101
|
+
ast (~> 1.1)
|
102
|
+
slop (~> 3.4, >= 3.4.5)
|
103
|
+
powerpack (0.0.9)
|
104
|
+
pry (0.9.12.6)
|
105
|
+
coderay (~> 1.0)
|
106
|
+
method_source (~> 0.8)
|
107
|
+
slop (~> 3.4)
|
108
|
+
pry-nav (0.2.3)
|
109
|
+
pry (~> 0.9.10)
|
110
|
+
rack (1.5.2)
|
111
|
+
rack-protection (1.5.2)
|
112
|
+
rack
|
113
|
+
rainbow (2.0.0)
|
114
|
+
rake (10.1.1)
|
115
|
+
rb-fsevent (0.9.4)
|
116
|
+
rb-inotify (0.9.3)
|
117
|
+
ffi (>= 0.5.0)
|
118
|
+
redis (3.0.7)
|
119
|
+
rest-client (1.6.7)
|
120
|
+
mime-types (>= 1.16)
|
121
|
+
rspec-expectations (2.14.5)
|
122
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
123
|
+
rubocop (0.18.1)
|
124
|
+
json (>= 1.7.7, < 2)
|
125
|
+
parser (~> 2.1.3)
|
126
|
+
powerpack (~> 0.0.6)
|
127
|
+
rainbow (>= 1.99.1, < 3.0)
|
128
|
+
ruby-prof (0.14.2)
|
129
|
+
safe_yaml (1.0.1)
|
130
|
+
scrivener (0.0.3)
|
131
|
+
simplecov (0.8.2)
|
132
|
+
docile (~> 1.1.0)
|
133
|
+
multi_json
|
134
|
+
simplecov-html (~> 0.8.0)
|
135
|
+
simplecov-html (0.8.0)
|
136
|
+
sinatra (1.4.4)
|
137
|
+
rack (~> 1.4)
|
138
|
+
rack-protection (~> 1.4)
|
139
|
+
tilt (~> 1.3, >= 1.3.4)
|
140
|
+
slop (3.4.7)
|
141
|
+
term-ansicolor (1.3.0)
|
142
|
+
tins (~> 1.0)
|
143
|
+
thor (0.18.1)
|
144
|
+
tilt (1.4.1)
|
145
|
+
timers (1.1.0)
|
146
|
+
tins (1.0.0)
|
147
|
+
vcr (2.8.0)
|
148
|
+
virtus (1.0.1)
|
149
|
+
axiom-types (~> 0.0.5)
|
150
|
+
coercible (~> 1.0)
|
151
|
+
descendants_tracker (~> 0.0.1)
|
152
|
+
equalizer (~> 0.0.7)
|
153
|
+
webmock (1.17.4)
|
154
|
+
addressable (>= 2.2.7)
|
155
|
+
crack (>= 0.3.2)
|
156
|
+
yajl-ruby (1.2.0)
|
157
|
+
|
158
|
+
PLATFORMS
|
159
|
+
ruby
|
160
|
+
|
161
|
+
DEPENDENCIES
|
162
|
+
aruba
|
163
|
+
bundler
|
164
|
+
cucumber
|
165
|
+
fabrication
|
166
|
+
guard
|
167
|
+
guard-cucumber
|
168
|
+
guard-minitest
|
169
|
+
minitest
|
170
|
+
mocha
|
171
|
+
rake
|
172
|
+
rubocop
|
173
|
+
ruby-prof
|
174
|
+
simplecov
|
175
|
+
sinatra
|
176
|
+
troo!
|
177
|
+
vcr
|
178
|
+
webmock
|
data/README.md
CHANGED
@@ -4,32 +4,58 @@
|
|
4
4
|
|
5
5
|
CLI interface for Trello. Named after Trello's mascot 'Roo'.
|
6
6
|
|
7
|
-
##
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
7
|
+
## Commands
|
8
|
+
|
9
|
+
- Add board, list, card or comment.
|
10
|
+
|
11
|
+
troo add [board|list|card|comment] <id>
|
12
|
+
|
13
|
+
- Remove all local data.
|
14
|
+
|
15
|
+
troo cleanup
|
16
|
+
|
17
|
+
- Show the current configuration.
|
18
|
+
|
19
|
+
troo config
|
20
|
+
|
21
|
+
- Set board, list or card to be default.
|
22
|
+
|
23
|
+
troo default [board|list|card] <id>
|
24
|
+
|
25
|
+
- Describe available commands or one specific command
|
26
|
+
|
27
|
+
troo help [COMMAND]
|
28
|
+
|
29
|
+
- Prepare to use Troo.
|
30
|
+
|
31
|
+
troo init
|
32
|
+
|
33
|
+
- Move card with <card_id> to list with <list_id> optionally to another board with <board_id>.
|
34
|
+
|
35
|
+
troo move <card_id> <list_id> (<board_id>)
|
36
|
+
|
37
|
+
- Refresh board, list or card with <id>.
|
38
|
+
|
39
|
+
troo refresh [board|list|card] <id>
|
40
|
+
|
41
|
+
- Show all the boards or the board, list, card with <id>. Also, show all comments for card with <id>.
|
42
|
+
|
43
|
+
troo show [boards|board|list|card|comments] <id>
|
44
|
+
|
45
|
+
- Get troo status.
|
46
|
+
|
47
|
+
troo status
|
48
|
+
|
49
|
+
- Print the version.
|
50
|
+
|
51
|
+
troo version
|
52
|
+
|
27
53
|
|
28
54
|
## Requirements
|
29
55
|
|
30
56
|
- A Trello account with API key/secret.
|
31
57
|
- MacOSX/Linux (I've not tested with Windows, sorry.)
|
32
|
-
- Ruby 2.1.
|
58
|
+
- Ruby 2.1.1 (>= 1.9.3 should be fine, developed mainly in 2.1.0 so far.)
|
33
59
|
- Redis.
|
34
60
|
|
35
61
|
## Installation
|
@@ -66,6 +92,36 @@ You will need user authentication tokens to access your Trello account.
|
|
66
92
|
|
67
93
|
- Fix multitude of sins.
|
68
94
|
- Write cucumber integration tests.
|
95
|
+
- Convert dates/times to Time.iso8601().
|
96
|
+
|
97
|
+
## Testing
|
98
|
+
|
99
|
+
I've put a simple fake server together so that I'm not hitting the Trello API continuously. You can activate and use this too.
|
100
|
+
|
101
|
+
1) Create own SSL certificate .crt and .key files:
|
102
|
+
|
103
|
+
openssl req -new -x509 -nodes -out my-server.crt -keyout my-server.key
|
104
|
+
|
105
|
+
2) Forward all port 80 and port 443 requests to your local server.
|
106
|
+
|
107
|
+
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to me 80
|
108
|
+
sudo ipfw add 101 fwd 127.0.0.1,8443 tcp from any to me 443
|
109
|
+
|
110
|
+
3) Tell your machine to be `api.trello.com` by updating the `/etc/hosts` file:
|
111
|
+
|
112
|
+
127.0.0.1 api.trello.com
|
113
|
+
|
114
|
+
4) Run `server.rb`:
|
115
|
+
|
116
|
+
cd ./test/support/fake_trello
|
117
|
+
ruby ./server.rb
|
118
|
+
|
119
|
+
5) Have fun.
|
120
|
+
|
121
|
+
6) When done, kill the server, revert `/etc/hosts` and remove the forwarding.
|
122
|
+
|
123
|
+
sudo ipfw del 100
|
124
|
+
sudo ipfw del 101
|
69
125
|
|
70
126
|
## Contributing
|
71
127
|
|
data/Rakefile
CHANGED
data/bin/completion.bash
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# https://blog.jcoglan.com/2013/02/12/tab-completion-for-your-command-line-apps/
|
2
|
+
|
3
|
+
_troo_complete() {
|
4
|
+
COMPREPLY=()
|
5
|
+
local word="${COMP_WORDS[COMP_CWORD]}"
|
6
|
+
local completions="$(troo autocomplete "$word")"
|
7
|
+
COMPREPLY=( $(compgen -W "$completions" -- "$word") )
|
8
|
+
}
|
9
|
+
|
10
|
+
complete -f -F _troo_complete troo
|
data/bin/completion.zsh
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# https://blog.jcoglan.com/2013/02/12/tab-completion-for-your-command-line-apps/
|
2
|
+
|
3
|
+
_troo_complete() {
|
4
|
+
local word completions
|
5
|
+
word="$1"
|
6
|
+
completions="$(troo autocomplete "${word}")"
|
7
|
+
reply=( "${(ps:\n:)completions}" )
|
8
|
+
}
|
9
|
+
|
10
|
+
compctl -f -K _troo_complete troo
|
data/bin/init.sh
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# https://blog.jcoglan.com/2013/02/12/tab-completion-for-your-command-line-apps/
|
2
|
+
|
3
|
+
# Add this to your .bash_profile (or .zsh_profile):
|
4
|
+
#
|
5
|
+
# Add autocompletion for Troo.
|
6
|
+
# which troo > /dev/null && . "$(troo path)/init.sh"
|
7
|
+
|
8
|
+
if [ -n "$BASH_VERSION" ]; then
|
9
|
+
root="$(dirname "${BASH_SOURCE[0]}")"
|
10
|
+
source "$root/completion.bash"
|
11
|
+
|
12
|
+
elif [ -n "$ZSH_VERSION" ]; then
|
13
|
+
root="$(dirname "$0")"
|
14
|
+
source "$root/completion.zsh"
|
15
|
+
fi
|
data/bin/troo
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
-> { its -> { a } }
|
3
4
|
trap('INT') { exit! }
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
if ARGV.include?('autocomplete')
|
7
|
+
command = ARGV.delete_if { |a| a == 'autocomplete' }
|
8
|
+
%w{add cleanup config default init move refresh
|
9
|
+
show status version}.find_all { |e| /^#{command}/ =~ e }
|
10
|
+
.map { |c| puts c }
|
11
|
+
elsif ARGV.include?('path')
|
12
|
+
puts File.expand_path File.dirname(__FILE__)
|
13
|
+
else
|
14
|
+
require_relative '../lib/troo'
|
15
|
+
Troo::Launcher.new(ARGV.dup).execute!
|
16
|
+
end
|
data/config/cucumber.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
<%
|
2
2
|
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
3
3
|
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
|
4
|
-
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || '
|
4
|
+
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'rerun'} --strict --tags ~@wip --tags ~@ok --tags ~@pending --tags ~@failing"
|
5
5
|
%>
|
6
|
-
default: <%= std_opts %> features
|
7
|
-
wip: --tags @wip:99 --wip features
|
6
|
+
default: <%= std_opts %> features --format rerun
|
7
|
+
wip: --tags @wip:99 --wip features --format pretty
|
8
8
|
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
|
data/config/en.yml
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
en:
|
2
|
+
cli:
|
3
|
+
add:
|
4
|
+
board: 'Add a new board with <name>; prompts if <name> not provided.'
|
5
|
+
card: 'Add a new card to the list with <list_id> with <name>; prompts if <name> not provided.'
|
6
|
+
comment: 'Add a new comment to the card with <card_id> with <comment>; prompts if <comment> not provided.'
|
7
|
+
list: 'Add a new list to the board with <board_id> with <name>; prompts if <name> not provided.'
|
8
|
+
default:
|
9
|
+
board: 'Set the board <id> to default.'
|
10
|
+
card: 'Set the card <id> to default.'
|
11
|
+
list: 'Set the list <id> to default.'
|
12
|
+
main:
|
13
|
+
init: 'Prepare to use Troo.'
|
14
|
+
status: 'Get troo status.'
|
15
|
+
config: 'Show the current configuration.'
|
16
|
+
cleanup: 'Removes all local data.'
|
17
|
+
version: 'Print the version.'
|
18
|
+
move: 'Move card with <card_id> to list with <list_id> optionally to another board with <board_id>.'
|
19
|
+
refresh:
|
20
|
+
all: 'Refresh all the local data.'
|
21
|
+
board: 'Refresh the default board or board with <id>.'
|
22
|
+
card: 'Refresh the default card or card with <id>.'
|
23
|
+
list: 'Refresh the default list or list with <id>.'
|
24
|
+
show:
|
25
|
+
boards: 'Show all the boards with lists.'
|
26
|
+
board: 'Show lists and cards for board <id> (uses default board if <id> not provided).'
|
27
|
+
list: 'Show all cards for list <id> (uses default list if <id> not provided).'
|
28
|
+
card: 'Show a card <id> including last 3 comments' (uses default card if <id> not provided).'
|
29
|
+
comments: 'Show all comments for card <id> (uses default card if <id> not provided).'
|