danger-todoist 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 963bf19dfcad9629d89f40c8f237618c1f69c2a1
4
- data.tar.gz: 89e8d53b71cc005750a9d96eda9243b604c12125
3
+ metadata.gz: 6c36d110785f3189707375cac0476f44b4acd8ec
4
+ data.tar.gz: 7612717fc4b352dc74d77c8e675046cb30dd79dd
5
5
  SHA512:
6
- metadata.gz: 5153ffc9cc8daeae7f893a440399a3e0a1a227db1fd9a8c7880ca14c5122656df3aca73baffea70ac56af3631477bb6a57e858471d1201ee05f3cc0e33dd8354
7
- data.tar.gz: aad90c81b1f8f581a2732b29080f78885a61a2ff303b4c7043e9744c83b53326d77efd07cd87a53489fa134db37ab2a000bb1ab94d007492e3fe9a5638691db9
6
+ metadata.gz: 163b2adc591716885f98dcdbcd868b81c20d4bbcaedde0d0e55096bcea8f975168ff5a8b167a3624660fab15e71aaa5e15c5fffa9e605e88bd586f014bf73396
7
+ data.tar.gz: 202815e4b3142852421f26b183ac10c9ef1de906b918ff1f44c74173430ccc62c1a4630f09415d54cfe1e530e54c21332619bf07f60f7338cc2fc9c53246f8a5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## master
2
2
 
3
+ ## 0.3.0
4
+
5
+ * exposed `todoist.todos` to dangerfile - hanneskaeufler
6
+
3
7
  ## 0.2.0
4
8
 
5
9
  * warning is not sticky anymore - hanneskaeufler
data/README.md CHANGED
@@ -15,14 +15,21 @@ A description of danger-todoist.
15
15
 
16
16
  ### todoist
17
17
 
18
- <blockquote>Ensure there are no TODOS left in the modified code
18
+ This is a danger plugin to detect any TODO/FIXME entries left in the code.
19
+
20
+ <blockquote>Ensure, by warning, there are no TODOS left in the modified code
19
21
  <pre>
20
22
  todoist.warn_for_todos</pre>
21
23
  </blockquote>
22
24
 
23
- <blockquote>Set custom warning message
25
+ <blockquote>Ensure, by failing the build, no TODOS left in the modified code
24
26
  <pre>
25
- todois.message = "Please fix all TODOS"
27
+ todoist.fail_for_todos</pre>
28
+ </blockquote>
29
+
30
+ <blockquote>Set custom warning message for warning
31
+ <pre>
32
+ todoist.message = "Please fix all TODOS"
26
33
  todoist.warn_for_todos</pre>
27
34
  </blockquote>
28
35
 
@@ -32,6 +39,11 @@ todoist.warn_for_todos
32
39
  todoist.print_todos_table</pre>
33
40
  </blockquote>
34
41
 
42
+ <blockquote>Do anything with the todos. Todos have `text` and `file` properties
43
+ <pre>
44
+ todoist.todos.each { |todo| puts todo.text }</pre>
45
+ </blockquote>
46
+
35
47
  #### Attributes
36
48
 
37
49
  `message` - Message to be shown
@@ -40,8 +52,12 @@ todoist.print_todos_table</pre>
40
52
 
41
53
  `warn_for_todos` - Adds a warning if there are todos found in the modified code
42
54
 
55
+ `fail_for_todos` - Adds an error if there are todos found in the modified code
56
+
43
57
  `print_todos_table` - Adds a list of offending files to the danger comment
44
58
 
59
+ `todos` - Returns the list of todos in the current diff set
60
+
45
61
  ## Development
46
62
 
47
63
  1. Clone this repo
data/lib/danger_plugin.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require "todoist/plugin"
2
2
  require "todoist/diff_todo_finder"
3
+ require "todoist/todo"
@@ -18,13 +18,10 @@ module Danger
18
18
  next if matches.empty?
19
19
 
20
20
  matches.each do |match|
21
- todos << Todo.new(diff.path, match.first.strip)
21
+ todos << Danger::Todo.new(diff.path, match.first.strip)
22
22
  end
23
23
  end
24
24
  todos
25
25
  end
26
-
27
- class Todo < Struct.new(:file, :text)
28
- end
29
26
  end
30
27
  end
@@ -1,3 +1,3 @@
1
1
  module Todoist
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.3.0".freeze
3
3
  end
@@ -20,6 +20,10 @@ module Danger
20
20
  # todoist.warn_for_todos
21
21
  # todoist.print_todos_table
22
22
  #
23
+ # @example Do anything with the todos. Todos have `text` and `file` properties
24
+ #
25
+ # todoist.todos.each { |todo| puts todo.text }
26
+ #
23
27
  # @see hanneskaeufler/danger-todoist
24
28
  # @tags todos, fixme
25
29
  #
@@ -58,7 +62,7 @@ module Danger
58
62
  # @return [void]
59
63
  #
60
64
  def print_todos_table
61
- return if @todos.nil?
65
+ find_todos if @todos.nil?
62
66
  return if @todos.empty?
63
67
 
64
68
  markdown("#### Todos left in files")
@@ -69,15 +73,28 @@ module Danger
69
73
  end
70
74
  end
71
75
 
76
+ #
77
+ # Returns the list of todos in the current diff set
78
+ #
79
+ # @return [Array of todos]
80
+ #
81
+ def todos
82
+ find_todos if @todos.nil?
83
+ @todos
84
+ end
85
+
72
86
  private
73
87
 
74
88
  def call_method_for_todos(method)
89
+ find_todos if @todos.nil?
90
+ public_send(method, message, sticky: false) unless @todos.empty?
91
+ end
92
+
93
+ def find_todos
75
94
  @todos = []
76
95
  return if files_of_interest.empty?
77
96
 
78
97
  @todos = DiffTodoFinder.new.find_diffs_containing_todos(diffs_of_interest)
79
-
80
- public_send(method, message, sticky: false) unless @todos.empty?
81
98
  end
82
99
 
83
100
  def message
@@ -0,0 +1,4 @@
1
+ module Danger
2
+ class Todo < Struct.new(:file, :text)
3
+ end
4
+ end
data/spec/todoist_spec.rb CHANGED
@@ -26,12 +26,10 @@ module Danger
26
26
  )
27
27
 
28
28
  allow(@dangerfile.git).to receive(:diff_for_file)
29
- .with("some/file.rb")
30
- .and_return(modified)
29
+ .with("some/file.rb").and_return(modified)
31
30
 
32
31
  allow(@dangerfile.git).to receive(:diff_for_file)
33
- .with("another/stuff.rb")
34
- .and_return(added)
32
+ .with("another/stuff.rb").and_return(added)
35
33
 
36
34
  allow(@dangerfile.git).to receive(:modified_files)
37
35
  .and_return(["some/file.rb"])
@@ -58,8 +56,7 @@ module Danger
58
56
  expect(warnings).to eq(["changed message"])
59
57
  end
60
58
 
61
- it "can print a report" do
62
- @todoist.warn_for_todos
59
+ it "can print a report, even without warning first" do
63
60
  @todoist.print_todos_table
64
61
 
65
62
  expect(markdowns).to eq(
@@ -70,6 +67,12 @@ module Danger
70
67
  ]
71
68
  )
72
69
  end
70
+
71
+ it "exposes todos to the dangerfile" do
72
+ expect(@todoist.todos.length).to eq(2)
73
+ expect(@todoist.todos.first.text).to eq("some todo")
74
+ expect(@todoist.todos.last.file).to eq("another/stuff.rb")
75
+ end
73
76
  end
74
77
 
75
78
  context "changed files not containing a todo" do
@@ -80,8 +83,7 @@ module Danger
80
83
  patch: "+ some added line"
81
84
  )
82
85
  allow(@dangerfile.git).to receive(:diff_for_file)
83
- .with("some/file.rb")
84
- .and_return(modified)
86
+ .with("some/file.rb").and_return(modified)
85
87
 
86
88
  allow(@dangerfile.git).to receive(:modified_files)
87
89
  .and_return(["some/file.rb"])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-todoist
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hannes Käufler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-06 00:00:00.000000000 Z
11
+ date: 2016-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -173,6 +173,7 @@ files:
173
173
  - lib/todoist/diff_todo_finder.rb
174
174
  - lib/todoist/gem_version.rb
175
175
  - lib/todoist/plugin.rb
176
+ - lib/todoist/todo.rb
176
177
  - spec/diff_todo_finder_spec.rb
177
178
  - spec/spec_helper.rb
178
179
  - spec/todoist_spec.rb