troo 0.0.1 → 0.0.2

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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +7 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +0 -1
  5. data/Guardfile +6 -0
  6. data/LICENSE.txt +1 -0
  7. data/README.md +46 -3
  8. data/Rakefile +11 -0
  9. data/bin/troo +12 -0
  10. data/configuration.yml.example +7 -0
  11. data/features/add_board.feature +1 -0
  12. data/features/add_card.feature +1 -0
  13. data/features/add_comment.feature +1 -0
  14. data/features/add_list.feature +1 -0
  15. data/features/cleanup.feature +0 -0
  16. data/features/move_card_to_list.feature +1 -0
  17. data/features/refresh.feature +1 -0
  18. data/features/set_default.feature +7 -0
  19. data/features/show_board.feature +1 -0
  20. data/features/show_boards.feature +1 -0
  21. data/features/show_card.feature +1 -0
  22. data/features/show_comments.feature +1 -0
  23. data/features/show_list.feature +1 -0
  24. data/features/status.feature +1 -0
  25. data/features/step_definitions/troo_steps.rb +0 -0
  26. data/features/support/env.rb +31 -0
  27. data/features/troo.feature +1 -0
  28. data/features/version.feature +8 -0
  29. data/lib/troo.rb +24 -2
  30. data/lib/troo/actions/create_board.rb +43 -0
  31. data/lib/troo/actions/create_card.rb +43 -0
  32. data/lib/troo/actions/create_comment.rb +44 -0
  33. data/lib/troo/actions/create_list.rb +41 -0
  34. data/lib/troo/actions/move_card.rb +36 -0
  35. data/lib/troo/actions/refresh_all.rb +79 -0
  36. data/lib/troo/actions/set_default.rb +35 -0
  37. data/lib/troo/cli/add_cli.rb +83 -0
  38. data/lib/troo/cli/default_cli.rb +37 -0
  39. data/lib/troo/cli/main_cli.rb +130 -0
  40. data/lib/troo/cli/show_cli.rb +83 -0
  41. data/lib/troo/cli/thor_fixes.rb +9 -0
  42. data/lib/troo/display/board_decorator.rb +58 -0
  43. data/lib/troo/display/board_presenter.rb +65 -0
  44. data/lib/troo/display/card_decorator.rb +105 -0
  45. data/lib/troo/display/card_presenter.rb +27 -0
  46. data/lib/troo/display/comment_decorator.rb +32 -0
  47. data/lib/troo/display/comment_presenter.rb +35 -0
  48. data/lib/troo/display/decorator_helpers.rb +76 -0
  49. data/lib/troo/display/list_decorator.rb +53 -0
  50. data/lib/troo/display/list_presenter.rb +43 -0
  51. data/lib/troo/display/member_decorator.rb +24 -0
  52. data/lib/troo/display/member_presenter.rb +59 -0
  53. data/lib/troo/external/board.rb +49 -0
  54. data/lib/troo/external/board_adaptor.rb +43 -0
  55. data/lib/troo/external/card.rb +70 -0
  56. data/lib/troo/external/card_adaptor.rb +78 -0
  57. data/lib/troo/external/comment.rb +64 -0
  58. data/lib/troo/external/comment_adaptor.rb +53 -0
  59. data/lib/troo/external/list.rb +58 -0
  60. data/lib/troo/external/list_adaptor.rb +48 -0
  61. data/lib/troo/external/member.rb +52 -0
  62. data/lib/troo/external/member_adaptor.rb +63 -0
  63. data/lib/troo/models/board.rb +26 -0
  64. data/lib/troo/models/board_persistence.rb +53 -0
  65. data/lib/troo/models/board_retrieval.rb +45 -0
  66. data/lib/troo/models/card.rb +54 -0
  67. data/lib/troo/models/card_persistence.rb +53 -0
  68. data/lib/troo/models/card_retrieval.rb +49 -0
  69. data/lib/troo/models/comment.rb +32 -0
  70. data/lib/troo/models/comment_persistence.rb +53 -0
  71. data/lib/troo/models/comment_retrieval.rb +32 -0
  72. data/lib/troo/models/list.rb +27 -0
  73. data/lib/troo/models/list_persistence.rb +53 -0
  74. data/lib/troo/models/list_retrieval.rb +45 -0
  75. data/lib/troo/models/member.rb +18 -0
  76. data/lib/troo/models/member_persistence.rb +53 -0
  77. data/lib/troo/models/member_retrieval.rb +36 -0
  78. data/lib/troo/models/model_helpers.rb +32 -0
  79. data/lib/troo/models/refresh.rb +23 -0
  80. data/lib/troo/presentation/template.rb +31 -0
  81. data/lib/troo/troo.rb +69 -0
  82. data/lib/troo/version.rb +2 -1
  83. data/lib/troo/views/card.erb +17 -0
  84. data/lib/troo/views/comment.erb +3 -0
  85. data/logs/.gitkeep +0 -0
  86. data/test/cassettes/board_by_id.yml +59 -0
  87. data/test/cassettes/boards_all.yml +118 -0
  88. data/test/cassettes/card_by_card_id.yml +58 -0
  89. data/test/cassettes/cards_by_board_id.yml +117 -0
  90. data/test/cassettes/cards_by_list_id.yml +114 -0
  91. data/test/cassettes/comments_by_board_id.yml +122 -0
  92. data/test/cassettes/comments_by_card_id.yml +114 -0
  93. data/test/cassettes/comments_by_list_id.yml +109 -0
  94. data/test/cassettes/create_board.yml +62 -0
  95. data/test/cassettes/create_card.yml +63 -0
  96. data/test/cassettes/create_comment.yml +67 -0
  97. data/test/cassettes/create_list.yml +60 -0
  98. data/test/cassettes/list_by_list_id.yml +56 -0
  99. data/test/cassettes/lists_by_board_id.yml +118 -0
  100. data/test/cassettes/member_by_member_id.yml +60 -0
  101. data/test/cassettes/members_by_board_id.yml +109 -0
  102. data/test/cassettes/move_card.yml +61 -0
  103. data/test/lib/troo/actions/create_board_test.rb +47 -0
  104. data/test/lib/troo/actions/create_card_test.rb +54 -0
  105. data/test/lib/troo/actions/create_comment_test.rb +49 -0
  106. data/test/lib/troo/actions/create_list_test.rb +49 -0
  107. data/test/lib/troo/actions/move_card_test.rb +46 -0
  108. data/test/lib/troo/actions/refresh_all_test.rb +68 -0
  109. data/test/lib/troo/actions/set_default_test.rb +44 -0
  110. data/test/lib/troo/cli/add_cli_test.rb +216 -0
  111. data/test/lib/troo/cli/default_cli_test.rb +79 -0
  112. data/test/lib/troo/cli/main_cli_test.rb +232 -0
  113. data/test/lib/troo/cli/show_cli_test.rb +221 -0
  114. data/test/lib/troo/cli/thor_fixes_test.rb +21 -0
  115. data/test/lib/troo/display/board_decorator_test.rb +126 -0
  116. data/test/lib/troo/display/board_presenter_test.rb +77 -0
  117. data/test/lib/troo/display/card_decorator_test.rb +221 -0
  118. data/test/lib/troo/display/card_presenter_test.rb +38 -0
  119. data/test/lib/troo/display/comment_decorator_test.rb +65 -0
  120. data/test/lib/troo/display/comment_presenter_test.rb +47 -0
  121. data/test/lib/troo/display/decorator_helpers_test.rb +7 -0
  122. data/test/lib/troo/display/list_decorator_test.rb +98 -0
  123. data/test/lib/troo/display/list_presenter_test.rb +48 -0
  124. data/test/lib/troo/display/member_decorator_test.rb +42 -0
  125. data/test/lib/troo/display/member_presenter_test.rb +70 -0
  126. data/test/lib/troo/external/board_adaptor_test.rb +36 -0
  127. data/test/lib/troo/external/board_test.rb +69 -0
  128. data/test/lib/troo/external/card_adaptor_test.rb +50 -0
  129. data/test/lib/troo/external/card_test.rb +108 -0
  130. data/test/lib/troo/external/comment_adaptor_test.rb +41 -0
  131. data/test/lib/troo/external/comment_test.rb +88 -0
  132. data/test/lib/troo/external/list_adaptor_test.rb +38 -0
  133. data/test/lib/troo/external/list_test.rb +65 -0
  134. data/test/lib/troo/external/member_adaptor_test.rb +44 -0
  135. data/test/lib/troo/external/member_test.rb +65 -0
  136. data/test/lib/troo/models/board_persistence_test.rb +61 -0
  137. data/test/lib/troo/models/board_retrieval_test.rb +93 -0
  138. data/test/lib/troo/models/board_test.rb +50 -0
  139. data/test/lib/troo/models/card_persistence_test.rb +60 -0
  140. data/test/lib/troo/models/card_retrieval_test.rb +101 -0
  141. data/test/lib/troo/models/card_test.rb +102 -0
  142. data/test/lib/troo/models/comment_persistence_test.rb +65 -0
  143. data/test/lib/troo/models/comment_retrieval_test.rb +46 -0
  144. data/test/lib/troo/models/comment_test.rb +59 -0
  145. data/test/lib/troo/models/list_persistence_test.rb +60 -0
  146. data/test/lib/troo/models/list_retrieval_test.rb +93 -0
  147. data/test/lib/troo/models/list_test.rb +53 -0
  148. data/test/lib/troo/models/member_persistence_test.rb +59 -0
  149. data/test/lib/troo/models/member_retrieval_test.rb +58 -0
  150. data/test/lib/troo/models/member_test.rb +44 -0
  151. data/test/lib/troo/models/model_helpers_test.rb +103 -0
  152. data/test/lib/troo/models/refresh_test.rb +45 -0
  153. data/test/lib/troo/presentation/template_test.rb +40 -0
  154. data/test/support/fabrication.rb +56 -0
  155. data/test/support/template.erb +3 -0
  156. data/test/support/vcr_setup.rb +36 -0
  157. data/test/test_helper.rb +30 -0
  158. data/troo.gemspec +24 -5
  159. metadata +501 -23
@@ -0,0 +1,45 @@
1
+ require_relative "../../../test_helper"
2
+
3
+ module Troo
4
+ describe Refresh do
5
+ let(:described_class) { Refresh }
6
+ let(:described_instance) { Fabricate.build(:refresh) }
7
+
8
+ subject { described_instance }
9
+
10
+ context "attributes" do
11
+ it "should have a last_performed_at attribute" do
12
+ subject.last_performed_at.must_equal Time.parse("2014-01-16 21:00:00 UTC")
13
+ end
14
+ end
15
+
16
+ context "actions" do
17
+ before { @refresh = Fabricate(:refresh) }
18
+ after { database_cleanup }
19
+
20
+ describe ".completed!" do
21
+ subject { described_class.completed! }
22
+
23
+ it "updates the last performed at timestamp" do
24
+ subject.wont_equal @refresh.last_performed_at
25
+ end
26
+ end
27
+
28
+ describe ".last_performed_at?" do
29
+ subject { described_class.last_performed_at? }
30
+
31
+ context "when one has not been performed" do
32
+ before { @refresh.delete }
33
+
34
+ it { subject.must_equal(nil) }
35
+ end
36
+
37
+ context "when one has been performed" do
38
+ it "returns the last performed timestamp" do
39
+ subject.must_equal @refresh.last_performed_at
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,40 @@
1
+ require_relative "../../../test_helper"
2
+
3
+ module Troo
4
+ describe Template do
5
+ let(:described_class) { Template }
6
+ let(:object) { OpenStruct.new(value: "Hello from variable!") }
7
+ let(:template_path) { "/../../../test/support/template.erb" }
8
+
9
+ describe "#initialize" do
10
+ subject { described_class.new(object, template_path) }
11
+
12
+ it "assigns the object to an instance variable" do
13
+ subject.instance_variable_get("@object").must_equal(object)
14
+ end
15
+
16
+ it "assigns the template_path to an instance variable" do
17
+ subject.instance_variable_get("@template_path").must_equal(template_path)
18
+ end
19
+ end
20
+
21
+ describe "#parse" do
22
+ subject { described_class.new(object, template_path).parse }
23
+
24
+ context "when the template file can be found" do
25
+ it "parses the template" do
26
+ subject.must_match /This is the test template/
27
+ subject.must_match /Hello from variable!/
28
+ end
29
+ end
30
+
31
+ context "when the template file cannot be found" do
32
+ let(:template_path) { "/some/wrong/path/template.erb" }
33
+
34
+ it "raises an exception" do
35
+ proc { subject }.must_raise(Errno::ENOENT)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,56 @@
1
+ Fabricator(:board, from: Troo::Board) do
2
+ external_board_id "526d8e130a14a9d846001d96"
3
+ name "My Test Board"
4
+ description "A very brief description..."
5
+ default false
6
+ closed false
7
+ end
8
+
9
+ Fabricator(:list, from: Troo::List) do
10
+ external_board_id "526d8e130a14a9d846001d96"
11
+ external_list_id "526d8e130a14a9d846001d97"
12
+ name "My Test List"
13
+ position 32768
14
+ default false
15
+ closed false
16
+ end
17
+
18
+ Fabricator(:card, from: Troo::Card) do
19
+ external_board_id "526d8e130a14a9d846001d96"
20
+ external_list_id "526d8e130a14a9d846001d97"
21
+ external_card_id "526d8f19ddb279532e005259"
22
+ external_member_ids ["5195fdb5a8c01a2318004f5d"]
23
+ short_id "67"
24
+ name "My Test Card"
25
+ desc "some description"
26
+ url "some trello url"
27
+ position 16
28
+ last_activity_date "2013-12-17 21:48:09 UTC"
29
+ default false
30
+ closed false
31
+ end
32
+
33
+ Fabricator(:comment, from: Troo::Comment) do
34
+ external_board_id "526d8e130a14a9d846001d96"
35
+ external_card_id "526d8f19ddb279532e005259"
36
+ external_comment_id "51f9277b2822b8654f0023af"
37
+ external_member_id "5195fdb5a8c01a2318004f5d"
38
+ text "My Test Comment"
39
+ date "2013-12-17 22:01:13 UTC"
40
+ end
41
+
42
+ Fabricator(:member, from: Troo::Member) do
43
+ external_member_id "5195fdb5a8c01a2318004f5d"
44
+ username "gavinlaking1"
45
+ email "gavinlaking@gmail.com"
46
+ full_name "Gavin Laking"
47
+ initials "GL"
48
+ avatar_id "some_avatar_id"
49
+ bio "some bio"
50
+ url "http://www.gavinlaking.name/"
51
+ end
52
+
53
+ Fabricator(:refresh, from: Troo::Refresh) do
54
+ last_performed_at "2014-01-16 21:00:00 UTC"
55
+ end
56
+
@@ -0,0 +1,3 @@
1
+ This is the test template.
2
+
3
+ <%= @object.value -%>
@@ -0,0 +1,36 @@
1
+ require "vcr"
2
+
3
+ VCR.configure do |c|
4
+ c.cassette_library_dir = 'test/cassettes'
5
+ c.hook_into :webmock
6
+ # c.debug_logger = File.open("logs/vcr.log", 'w')
7
+ c.filter_sensitive_data('<OAuth Credentials>') do |interaction|
8
+ interaction.request.headers['Authorization'].first
9
+ end
10
+
11
+ # hack hack hack
12
+ # Couldn't work out how to instruct VCR to filter urls, shortUrls
13
+ # and shortLinks from the returned body string; hate myself.
14
+ c.filter_sensitive_data('<Trello URL>') do |interaction|
15
+ parsed = JSON.parse(interaction.response.body)
16
+ if parsed.is_a?(Array)
17
+ parsed.map do |hash|
18
+ hash.map do |k, v|
19
+ hash[k] = "<Trello URL>" if (k == "url" ||
20
+ k == "shortUrl" ||
21
+ k == "shortLink")
22
+ end
23
+ end
24
+ interaction.response.body = JSON.dump(parsed)
25
+ elsif parsed.is_a?(Hash)
26
+ parsed.map do |k, v|
27
+ parsed[k] = "<Trello URL>" if (k == "url" ||
28
+ k == "shortUrl" ||
29
+ k == "shortLink")
30
+ end
31
+ interaction.response.body = JSON.dump(parsed)
32
+ end
33
+ nil
34
+ end
35
+ end
36
+
@@ -0,0 +1,30 @@
1
+ require "simplecov"
2
+ require "minitest/autorun"
3
+ require "minitest/pride"
4
+ require "fabrication"
5
+
6
+ SimpleCov.start do
7
+ command_name "MiniTest::Spec"
8
+ add_filter "/test/"
9
+ end
10
+
11
+ module MiniTest
12
+ class Spec
13
+ class << self
14
+ alias_method :context, :describe
15
+ end
16
+ end
17
+ end
18
+
19
+ require_relative "./support/vcr_setup.rb"
20
+ require_relative "../lib/troo.rb"
21
+ require_relative "./support/fabrication.rb"
22
+
23
+ Ohm.connect(db: Troo.config.test_db)
24
+
25
+ require "mocha/setup"
26
+
27
+ def database_cleanup(delay = 0)
28
+ Ohm.redis.flushdb
29
+ sleep delay if delay > 0
30
+ end
data/troo.gemspec CHANGED
@@ -8,9 +8,9 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Troo::VERSION
9
9
  spec.authors = ["Gavin Laking"]
10
10
  spec.email = ["gavinlaking@gmail.com"]
11
- spec.summary = %q{Command line Trello.}
12
- spec.description = spec.summary
13
- spec.homepage = "http://www.gavinlaking.name/"
11
+ spec.description = %q{CLI interface for Trello.}
12
+ spec.summary = spec.description
13
+ spec.homepage = "http://gavinlaking.name"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -18,6 +18,25 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.5"
22
- spec.add_development_dependency "rake"
21
+ spec.add_development_dependency "aruba", "0.5.4"
22
+ spec.add_development_dependency "bundler", "1.5.2"
23
+ spec.add_development_dependency "cucumber", "1.3.10"
24
+ spec.add_development_dependency "fabrication", "2.9.3"
25
+ spec.add_development_dependency "guard", "2.2.5"
26
+ spec.add_development_dependency "guard-minitest", "2.1.3"
27
+ spec.add_development_dependency "minitest", "5.0.8"
28
+ spec.add_development_dependency "mocha", "0.14.0"
29
+ spec.add_development_dependency "pry", "0.9.12.4"
30
+ spec.add_development_dependency "rake", "10.1.1"
31
+ spec.add_development_dependency "simplecov", "0.8.2"
32
+ spec.add_development_dependency "vcr", "2.8.0"
33
+ spec.add_development_dependency "webmock", "1.15.2"
34
+
35
+ spec.add_dependency "json", "1.7.7"
36
+ spec.add_dependency "ohm", "1.3.2"
37
+ spec.add_dependency "ohm-contrib", "1.2"
38
+ spec.add_dependency "ruby-trello", "1.1.0"
39
+ spec.add_dependency "term-ansicolor", "1.2.2"
40
+ spec.add_dependency "thor", "0.18.1"
23
41
  end
42
+
metadata CHANGED
@@ -1,80 +1,558 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: troo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Laking
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-13 00:00:00.000000000 Z
11
+ date: 2014-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aruba
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.5.4
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.5.4
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.5.2
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.5.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.10
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.10
55
+ - !ruby/object:Gem::Dependency
56
+ name: fabrication
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.9.3
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.9.3
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 2.2.5
76
+ type: :development
77
+ prerelease: false
15
78
  version_requirements: !ruby/object:Gem::Requirement
16
79
  requirements:
17
- - - ~>
80
+ - - '='
18
81
  - !ruby/object:Gem::Version
19
- version: '1.5'
82
+ version: 2.2.5
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-minitest
20
85
  requirement: !ruby/object:Gem::Requirement
21
86
  requirements:
22
- - - ~>
87
+ - - '='
23
88
  - !ruby/object:Gem::Version
24
- version: '1.5'
89
+ version: 2.1.3
90
+ type: :development
25
91
  prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 2.1.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: minitest
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 5.0.8
26
104
  type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 5.0.8
111
+ - !ruby/object:Gem::Dependency
112
+ name: mocha
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.14.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.14.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 0.9.12.4
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.9.12.4
27
139
  - !ruby/object:Gem::Dependency
28
140
  name: rake
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 10.1.1
146
+ type: :development
147
+ prerelease: false
29
148
  version_requirements: !ruby/object:Gem::Requirement
30
149
  requirements:
31
- - - '>='
150
+ - - '='
32
151
  - !ruby/object:Gem::Version
33
- version: '0'
152
+ version: 10.1.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov
34
155
  requirement: !ruby/object:Gem::Requirement
35
156
  requirements:
36
- - - '>='
157
+ - - '='
37
158
  - !ruby/object:Gem::Version
38
- version: '0'
159
+ version: 0.8.2
160
+ type: :development
39
161
  prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.8.2
167
+ - !ruby/object:Gem::Dependency
168
+ name: vcr
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: 2.8.0
40
174
  type: :development
41
- description: Command line Trello.
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '='
179
+ - !ruby/object:Gem::Version
180
+ version: 2.8.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: webmock
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '='
186
+ - !ruby/object:Gem::Version
187
+ version: 1.15.2
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '='
193
+ - !ruby/object:Gem::Version
194
+ version: 1.15.2
195
+ - !ruby/object:Gem::Dependency
196
+ name: json
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '='
200
+ - !ruby/object:Gem::Version
201
+ version: 1.7.7
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '='
207
+ - !ruby/object:Gem::Version
208
+ version: 1.7.7
209
+ - !ruby/object:Gem::Dependency
210
+ name: ohm
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '='
214
+ - !ruby/object:Gem::Version
215
+ version: 1.3.2
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '='
221
+ - !ruby/object:Gem::Version
222
+ version: 1.3.2
223
+ - !ruby/object:Gem::Dependency
224
+ name: ohm-contrib
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '='
228
+ - !ruby/object:Gem::Version
229
+ version: '1.2'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '='
235
+ - !ruby/object:Gem::Version
236
+ version: '1.2'
237
+ - !ruby/object:Gem::Dependency
238
+ name: ruby-trello
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - '='
242
+ - !ruby/object:Gem::Version
243
+ version: 1.1.0
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - '='
249
+ - !ruby/object:Gem::Version
250
+ version: 1.1.0
251
+ - !ruby/object:Gem::Dependency
252
+ name: term-ansicolor
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - '='
256
+ - !ruby/object:Gem::Version
257
+ version: 1.2.2
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - '='
263
+ - !ruby/object:Gem::Version
264
+ version: 1.2.2
265
+ - !ruby/object:Gem::Dependency
266
+ name: thor
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - '='
270
+ - !ruby/object:Gem::Version
271
+ version: 0.18.1
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - '='
277
+ - !ruby/object:Gem::Version
278
+ version: 0.18.1
279
+ description: CLI interface for Trello.
42
280
  email:
43
281
  - gavinlaking@gmail.com
44
- executables: []
282
+ executables:
283
+ - troo
45
284
  extensions: []
46
285
  extra_rdoc_files: []
47
286
  files:
48
- - .gitignore
287
+ - ".gitignore"
288
+ - ".ruby-version"
49
289
  - Gemfile
290
+ - Guardfile
50
291
  - LICENSE.txt
51
292
  - README.md
52
293
  - Rakefile
294
+ - bin/troo
295
+ - configuration.yml.example
296
+ - features/add_board.feature
297
+ - features/add_card.feature
298
+ - features/add_comment.feature
299
+ - features/add_list.feature
300
+ - features/cleanup.feature
301
+ - features/move_card_to_list.feature
302
+ - features/refresh.feature
303
+ - features/set_default.feature
304
+ - features/show_board.feature
305
+ - features/show_boards.feature
306
+ - features/show_card.feature
307
+ - features/show_comments.feature
308
+ - features/show_list.feature
309
+ - features/status.feature
310
+ - features/step_definitions/troo_steps.rb
311
+ - features/support/env.rb
312
+ - features/troo.feature
313
+ - features/version.feature
53
314
  - lib/troo.rb
315
+ - lib/troo/actions/create_board.rb
316
+ - lib/troo/actions/create_card.rb
317
+ - lib/troo/actions/create_comment.rb
318
+ - lib/troo/actions/create_list.rb
319
+ - lib/troo/actions/move_card.rb
320
+ - lib/troo/actions/refresh_all.rb
321
+ - lib/troo/actions/set_default.rb
322
+ - lib/troo/cli/add_cli.rb
323
+ - lib/troo/cli/default_cli.rb
324
+ - lib/troo/cli/main_cli.rb
325
+ - lib/troo/cli/show_cli.rb
326
+ - lib/troo/cli/thor_fixes.rb
327
+ - lib/troo/display/board_decorator.rb
328
+ - lib/troo/display/board_presenter.rb
329
+ - lib/troo/display/card_decorator.rb
330
+ - lib/troo/display/card_presenter.rb
331
+ - lib/troo/display/comment_decorator.rb
332
+ - lib/troo/display/comment_presenter.rb
333
+ - lib/troo/display/decorator_helpers.rb
334
+ - lib/troo/display/list_decorator.rb
335
+ - lib/troo/display/list_presenter.rb
336
+ - lib/troo/display/member_decorator.rb
337
+ - lib/troo/display/member_presenter.rb
338
+ - lib/troo/external/board.rb
339
+ - lib/troo/external/board_adaptor.rb
340
+ - lib/troo/external/card.rb
341
+ - lib/troo/external/card_adaptor.rb
342
+ - lib/troo/external/comment.rb
343
+ - lib/troo/external/comment_adaptor.rb
344
+ - lib/troo/external/list.rb
345
+ - lib/troo/external/list_adaptor.rb
346
+ - lib/troo/external/member.rb
347
+ - lib/troo/external/member_adaptor.rb
348
+ - lib/troo/models/board.rb
349
+ - lib/troo/models/board_persistence.rb
350
+ - lib/troo/models/board_retrieval.rb
351
+ - lib/troo/models/card.rb
352
+ - lib/troo/models/card_persistence.rb
353
+ - lib/troo/models/card_retrieval.rb
354
+ - lib/troo/models/comment.rb
355
+ - lib/troo/models/comment_persistence.rb
356
+ - lib/troo/models/comment_retrieval.rb
357
+ - lib/troo/models/list.rb
358
+ - lib/troo/models/list_persistence.rb
359
+ - lib/troo/models/list_retrieval.rb
360
+ - lib/troo/models/member.rb
361
+ - lib/troo/models/member_persistence.rb
362
+ - lib/troo/models/member_retrieval.rb
363
+ - lib/troo/models/model_helpers.rb
364
+ - lib/troo/models/refresh.rb
365
+ - lib/troo/presentation/template.rb
366
+ - lib/troo/troo.rb
54
367
  - lib/troo/version.rb
368
+ - lib/troo/views/card.erb
369
+ - lib/troo/views/comment.erb
370
+ - logs/.gitkeep
371
+ - test/cassettes/board_by_id.yml
372
+ - test/cassettes/boards_all.yml
373
+ - test/cassettes/card_by_card_id.yml
374
+ - test/cassettes/cards_by_board_id.yml
375
+ - test/cassettes/cards_by_list_id.yml
376
+ - test/cassettes/comments_by_board_id.yml
377
+ - test/cassettes/comments_by_card_id.yml
378
+ - test/cassettes/comments_by_list_id.yml
379
+ - test/cassettes/create_board.yml
380
+ - test/cassettes/create_card.yml
381
+ - test/cassettes/create_comment.yml
382
+ - test/cassettes/create_list.yml
383
+ - test/cassettes/list_by_list_id.yml
384
+ - test/cassettes/lists_by_board_id.yml
385
+ - test/cassettes/member_by_member_id.yml
386
+ - test/cassettes/members_by_board_id.yml
387
+ - test/cassettes/move_card.yml
388
+ - test/lib/troo/actions/create_board_test.rb
389
+ - test/lib/troo/actions/create_card_test.rb
390
+ - test/lib/troo/actions/create_comment_test.rb
391
+ - test/lib/troo/actions/create_list_test.rb
392
+ - test/lib/troo/actions/move_card_test.rb
393
+ - test/lib/troo/actions/refresh_all_test.rb
394
+ - test/lib/troo/actions/set_default_test.rb
395
+ - test/lib/troo/cli/add_cli_test.rb
396
+ - test/lib/troo/cli/default_cli_test.rb
397
+ - test/lib/troo/cli/main_cli_test.rb
398
+ - test/lib/troo/cli/show_cli_test.rb
399
+ - test/lib/troo/cli/thor_fixes_test.rb
400
+ - test/lib/troo/display/board_decorator_test.rb
401
+ - test/lib/troo/display/board_presenter_test.rb
402
+ - test/lib/troo/display/card_decorator_test.rb
403
+ - test/lib/troo/display/card_presenter_test.rb
404
+ - test/lib/troo/display/comment_decorator_test.rb
405
+ - test/lib/troo/display/comment_presenter_test.rb
406
+ - test/lib/troo/display/decorator_helpers_test.rb
407
+ - test/lib/troo/display/list_decorator_test.rb
408
+ - test/lib/troo/display/list_presenter_test.rb
409
+ - test/lib/troo/display/member_decorator_test.rb
410
+ - test/lib/troo/display/member_presenter_test.rb
411
+ - test/lib/troo/external/board_adaptor_test.rb
412
+ - test/lib/troo/external/board_test.rb
413
+ - test/lib/troo/external/card_adaptor_test.rb
414
+ - test/lib/troo/external/card_test.rb
415
+ - test/lib/troo/external/comment_adaptor_test.rb
416
+ - test/lib/troo/external/comment_test.rb
417
+ - test/lib/troo/external/list_adaptor_test.rb
418
+ - test/lib/troo/external/list_test.rb
419
+ - test/lib/troo/external/member_adaptor_test.rb
420
+ - test/lib/troo/external/member_test.rb
421
+ - test/lib/troo/models/board_persistence_test.rb
422
+ - test/lib/troo/models/board_retrieval_test.rb
423
+ - test/lib/troo/models/board_test.rb
424
+ - test/lib/troo/models/card_persistence_test.rb
425
+ - test/lib/troo/models/card_retrieval_test.rb
426
+ - test/lib/troo/models/card_test.rb
427
+ - test/lib/troo/models/comment_persistence_test.rb
428
+ - test/lib/troo/models/comment_retrieval_test.rb
429
+ - test/lib/troo/models/comment_test.rb
430
+ - test/lib/troo/models/list_persistence_test.rb
431
+ - test/lib/troo/models/list_retrieval_test.rb
432
+ - test/lib/troo/models/list_test.rb
433
+ - test/lib/troo/models/member_persistence_test.rb
434
+ - test/lib/troo/models/member_retrieval_test.rb
435
+ - test/lib/troo/models/member_test.rb
436
+ - test/lib/troo/models/model_helpers_test.rb
437
+ - test/lib/troo/models/refresh_test.rb
438
+ - test/lib/troo/presentation/template_test.rb
439
+ - test/support/fabrication.rb
440
+ - test/support/template.erb
441
+ - test/support/vcr_setup.rb
442
+ - test/test_helper.rb
55
443
  - troo.gemspec
56
- homepage: http://www.gavinlaking.name/
444
+ homepage: http://gavinlaking.name
57
445
  licenses:
58
446
  - MIT
59
447
  metadata: {}
60
- post_install_message:
448
+ post_install_message:
61
449
  rdoc_options: []
62
450
  require_paths:
63
451
  - lib
64
452
  required_ruby_version: !ruby/object:Gem::Requirement
65
453
  requirements:
66
- - - '>='
454
+ - - ">="
67
455
  - !ruby/object:Gem::Version
68
456
  version: '0'
69
457
  required_rubygems_version: !ruby/object:Gem::Requirement
70
458
  requirements:
71
- - - '>='
459
+ - - ">="
72
460
  - !ruby/object:Gem::Version
73
461
  version: '0'
74
462
  requirements: []
75
- rubyforge_project:
76
- rubygems_version: 2.1.9
77
- signing_key:
463
+ rubyforge_project:
464
+ rubygems_version: 2.2.0
465
+ signing_key:
78
466
  specification_version: 4
79
- summary: Command line Trello.
80
- test_files: []
467
+ summary: CLI interface for Trello.
468
+ test_files:
469
+ - features/add_board.feature
470
+ - features/add_card.feature
471
+ - features/add_comment.feature
472
+ - features/add_list.feature
473
+ - features/cleanup.feature
474
+ - features/move_card_to_list.feature
475
+ - features/refresh.feature
476
+ - features/set_default.feature
477
+ - features/show_board.feature
478
+ - features/show_boards.feature
479
+ - features/show_card.feature
480
+ - features/show_comments.feature
481
+ - features/show_list.feature
482
+ - features/status.feature
483
+ - features/step_definitions/troo_steps.rb
484
+ - features/support/env.rb
485
+ - features/troo.feature
486
+ - features/version.feature
487
+ - test/cassettes/board_by_id.yml
488
+ - test/cassettes/boards_all.yml
489
+ - test/cassettes/card_by_card_id.yml
490
+ - test/cassettes/cards_by_board_id.yml
491
+ - test/cassettes/cards_by_list_id.yml
492
+ - test/cassettes/comments_by_board_id.yml
493
+ - test/cassettes/comments_by_card_id.yml
494
+ - test/cassettes/comments_by_list_id.yml
495
+ - test/cassettes/create_board.yml
496
+ - test/cassettes/create_card.yml
497
+ - test/cassettes/create_comment.yml
498
+ - test/cassettes/create_list.yml
499
+ - test/cassettes/list_by_list_id.yml
500
+ - test/cassettes/lists_by_board_id.yml
501
+ - test/cassettes/member_by_member_id.yml
502
+ - test/cassettes/members_by_board_id.yml
503
+ - test/cassettes/move_card.yml
504
+ - test/lib/troo/actions/create_board_test.rb
505
+ - test/lib/troo/actions/create_card_test.rb
506
+ - test/lib/troo/actions/create_comment_test.rb
507
+ - test/lib/troo/actions/create_list_test.rb
508
+ - test/lib/troo/actions/move_card_test.rb
509
+ - test/lib/troo/actions/refresh_all_test.rb
510
+ - test/lib/troo/actions/set_default_test.rb
511
+ - test/lib/troo/cli/add_cli_test.rb
512
+ - test/lib/troo/cli/default_cli_test.rb
513
+ - test/lib/troo/cli/main_cli_test.rb
514
+ - test/lib/troo/cli/show_cli_test.rb
515
+ - test/lib/troo/cli/thor_fixes_test.rb
516
+ - test/lib/troo/display/board_decorator_test.rb
517
+ - test/lib/troo/display/board_presenter_test.rb
518
+ - test/lib/troo/display/card_decorator_test.rb
519
+ - test/lib/troo/display/card_presenter_test.rb
520
+ - test/lib/troo/display/comment_decorator_test.rb
521
+ - test/lib/troo/display/comment_presenter_test.rb
522
+ - test/lib/troo/display/decorator_helpers_test.rb
523
+ - test/lib/troo/display/list_decorator_test.rb
524
+ - test/lib/troo/display/list_presenter_test.rb
525
+ - test/lib/troo/display/member_decorator_test.rb
526
+ - test/lib/troo/display/member_presenter_test.rb
527
+ - test/lib/troo/external/board_adaptor_test.rb
528
+ - test/lib/troo/external/board_test.rb
529
+ - test/lib/troo/external/card_adaptor_test.rb
530
+ - test/lib/troo/external/card_test.rb
531
+ - test/lib/troo/external/comment_adaptor_test.rb
532
+ - test/lib/troo/external/comment_test.rb
533
+ - test/lib/troo/external/list_adaptor_test.rb
534
+ - test/lib/troo/external/list_test.rb
535
+ - test/lib/troo/external/member_adaptor_test.rb
536
+ - test/lib/troo/external/member_test.rb
537
+ - test/lib/troo/models/board_persistence_test.rb
538
+ - test/lib/troo/models/board_retrieval_test.rb
539
+ - test/lib/troo/models/board_test.rb
540
+ - test/lib/troo/models/card_persistence_test.rb
541
+ - test/lib/troo/models/card_retrieval_test.rb
542
+ - test/lib/troo/models/card_test.rb
543
+ - test/lib/troo/models/comment_persistence_test.rb
544
+ - test/lib/troo/models/comment_retrieval_test.rb
545
+ - test/lib/troo/models/comment_test.rb
546
+ - test/lib/troo/models/list_persistence_test.rb
547
+ - test/lib/troo/models/list_retrieval_test.rb
548
+ - test/lib/troo/models/list_test.rb
549
+ - test/lib/troo/models/member_persistence_test.rb
550
+ - test/lib/troo/models/member_retrieval_test.rb
551
+ - test/lib/troo/models/member_test.rb
552
+ - test/lib/troo/models/model_helpers_test.rb
553
+ - test/lib/troo/models/refresh_test.rb
554
+ - test/lib/troo/presentation/template_test.rb
555
+ - test/support/fabrication.rb
556
+ - test/support/template.erb
557
+ - test/support/vcr_setup.rb
558
+ - test/test_helper.rb