danger-toc 0.1.3 → 0.2.0
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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +2 -7
- data/CHANGELOG.md +5 -0
- data/Dangerfile +2 -2
- data/Gemfile +12 -1
- data/LICENSE.txt +1 -1
- data/README.md +16 -23
- data/danger-toc.gemspec +0 -10
- data/lib/toc/config.rb +11 -1
- data/lib/toc/gem_version.rb +1 -1
- data/lib/toc/plugin.rb +14 -12
- data/spec/config_spec.rb +3 -9
- data/spec/toc_spec.rb +2 -4
- metadata +3 -130
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d27e70d24b49b9cb6028e5f55a4315740babe9e9f51a73fe95d7c502e2c18b2
|
4
|
+
data.tar.gz: f58a7d7c22ae8f8746f9aa9318dbf461511149d5f3881bc9e927020723a80359
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb815bca9f3cf08a3f6b2a474cdd9c15d8eb3b92c7478e595c86c62a510b52e55e1ef542a6121ca06fa4210239d6dfa4dcb50c26366e3e2adaffc639e6ef66e5
|
7
|
+
data.tar.gz: 36cb65b82c3ba399ef44a45c2f461f7b7cad09d857eadcb86265f7758370314637550ec1777db7a2c8ea8fa0a44e43d5ede2f4169600cd0bb31efe2531f27c16
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2019-07-28 16:26:13 -0400 using RuboCop version 0.58.2.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -15,11 +15,6 @@ Layout/IndentHeredoc:
|
|
15
15
|
- 'lib/toc/plugin.rb'
|
16
16
|
- 'spec/toc_spec.rb'
|
17
17
|
|
18
|
-
# Offense count: 2
|
19
|
-
Lint/DuplicateMethods:
|
20
|
-
Exclude:
|
21
|
-
- 'lib/toc/config.rb'
|
22
|
-
|
23
18
|
# Offense count: 4
|
24
19
|
Metrics/AbcSize:
|
25
20
|
Max: 19
|
@@ -83,4 +78,4 @@ Style/GuardClause:
|
|
83
78
|
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
84
79
|
# URISchemes: http, https
|
85
80
|
Metrics/LineLength:
|
86
|
-
Max:
|
81
|
+
Max: 123
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
## Changelog
|
2
2
|
|
3
|
+
### 0.2.0 (2019/07/28)
|
4
|
+
|
5
|
+
* [#16](https://github.com/dblock/danger-toc/pull/16): Deprecate `check` in favor of `check!` - [@dblock](https://github.com/dblock).
|
6
|
+
* [#16](https://github.com/dblock/danger-toc/pull/16): Deprecate `configure`, configure directly on `toc` - [@dblock](https://github.com/dblock).
|
7
|
+
|
3
8
|
### 0.1.3 (2018/08/15)
|
4
9
|
|
5
10
|
* [#7](https://github.com/dblock/danger-toc/issues/7): Parse documents as Github Flavored Markdown by default - [@dblock](https://github.com/dblock).
|
data/Dangerfile
CHANGED
data/Gemfile
CHANGED
@@ -2,4 +2,15 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
|
5
|
+
group :development, :test do
|
6
|
+
gem 'bundler'
|
7
|
+
gem 'danger-changelog', '~> 0.6.0'
|
8
|
+
gem 'guard', '~> 2.14'
|
9
|
+
gem 'guard-rspec', '~> 4.7'
|
10
|
+
gem 'listen'
|
11
|
+
gem 'pry'
|
12
|
+
gem 'rake', '~> 10.0'
|
13
|
+
gem 'rspec', '~> 3.4'
|
14
|
+
gem 'rubocop', '0.58.2'
|
15
|
+
gem 'yard'
|
16
|
+
end
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -9,11 +9,9 @@ A plugin for [danger.systems](http://danger.systems) that makes sure your projec
|
|
9
9
|
|
10
10
|
- [Installation](#installation)
|
11
11
|
- [Usage](#usage)
|
12
|
-
- [
|
13
|
-
- [
|
14
|
-
|
15
|
-
- [toc.header](#tocheader)
|
16
|
-
- [toc.check](#toccheck)
|
12
|
+
- [toc.files](#tocfiles)
|
13
|
+
- [toc.header](#tocheader)
|
14
|
+
- [toc.check!](#toccheck)
|
17
15
|
- [Contributing](#contributing)
|
18
16
|
- [Copyright](#copyright)
|
19
17
|
|
@@ -31,32 +29,27 @@ Add `toc.check` to your Dangerfile. Make a pull request and see this plugin in a
|
|
31
29
|
|
32
30
|
## Usage
|
33
31
|
|
34
|
-
|
32
|
+
Methods and settings from this plugin are available in your `Dangerfile` under the `toc` namespace.
|
35
33
|
|
36
|
-
|
34
|
+
### toc.files
|
35
|
+
|
36
|
+
List of files to ensure TOC in, default is `README.md`.
|
37
37
|
|
38
38
|
```ruby
|
39
|
-
|
40
|
-
config.files = [ 'README.md' ]
|
41
|
-
config.header = 'Table of Contents'
|
42
|
-
end
|
39
|
+
config.files = [ 'README.md', 'DEV.md' ]
|
43
40
|
```
|
44
41
|
|
45
|
-
###
|
46
|
-
|
47
|
-
Methods and attributes from this plugin are available in your `Dangerfile` under the `toc` namespace.
|
48
|
-
|
49
|
-
#### toc.files
|
50
|
-
|
51
|
-
List of files to ensure TOC in, default is `README.md`.
|
52
|
-
|
53
|
-
#### toc.header
|
42
|
+
### toc.header
|
54
43
|
|
55
44
|
The Table of Contents header, without `#`, default is `Table of Contents`.
|
56
45
|
|
57
|
-
|
46
|
+
```ruby
|
47
|
+
config.header = 'Custom Table of Contents'
|
48
|
+
```
|
49
|
+
|
50
|
+
### toc.check!
|
58
51
|
|
59
|
-
Run all checks
|
52
|
+
Run all checks.
|
60
53
|
|
61
54
|
## Contributing
|
62
55
|
|
@@ -64,6 +57,6 @@ See [CONTRIBUTING](CONTRIBUTING.md).
|
|
64
57
|
|
65
58
|
## Copyright
|
66
59
|
|
67
|
-
Copyright (c) Daniel Doubrovkine, 2017
|
60
|
+
Copyright (c) Daniel Doubrovkine, 2017-2019
|
68
61
|
|
69
62
|
MIT License, see [LICENSE](LICENSE.txt) for details.
|
data/danger-toc.gemspec
CHANGED
@@ -20,14 +20,4 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_dependency 'activesupport'
|
21
21
|
spec.add_dependency 'kramdown'
|
22
22
|
spec.add_runtime_dependency 'danger-plugin-api', '~> 1.0'
|
23
|
-
|
24
|
-
spec.add_development_dependency 'bundler', '~> 1.3'
|
25
|
-
spec.add_development_dependency 'guard', '~> 2.14'
|
26
|
-
spec.add_development_dependency 'guard-rspec', '~> 4.7'
|
27
|
-
spec.add_development_dependency 'listen'
|
28
|
-
spec.add_development_dependency 'pry'
|
29
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
30
|
-
spec.add_development_dependency 'rspec', '~> 3.4'
|
31
|
-
spec.add_development_dependency 'rubocop', '0.58.2'
|
32
|
-
spec.add_development_dependency 'yard'
|
33
23
|
end
|
data/lib/toc/config.rb
CHANGED
@@ -3,7 +3,16 @@ module Danger
|
|
3
3
|
module Config
|
4
4
|
extend self
|
5
5
|
|
6
|
-
|
6
|
+
ATTRIBUTES = %i[
|
7
|
+
files
|
8
|
+
header
|
9
|
+
].freeze
|
10
|
+
|
11
|
+
ACCESSORS = ATTRIBUTES.map { |name| "#{name}=".to_sym }
|
12
|
+
|
13
|
+
DELEGATORS = ATTRIBUTES + ACCESSORS
|
14
|
+
|
15
|
+
attr_accessor(*Config::ATTRIBUTES)
|
7
16
|
attr_writer :format
|
8
17
|
|
9
18
|
# Files to process
|
@@ -35,6 +44,7 @@ module Danger
|
|
35
44
|
|
36
45
|
class << self
|
37
46
|
def configure
|
47
|
+
warn '[DEPRECATION] `configure` is deprecated. Please directly configure the Danger plugin via `toc.xyz=` instead.'
|
38
48
|
block_given? ? yield(Config) : Config
|
39
49
|
end
|
40
50
|
|
data/lib/toc/gem_version.rb
CHANGED
data/lib/toc/plugin.rb
CHANGED
@@ -3,42 +3,44 @@ module Danger
|
|
3
3
|
#
|
4
4
|
# @example Run all checks on the default README.md.
|
5
5
|
#
|
6
|
-
# toc.check
|
6
|
+
# toc.check!
|
7
7
|
#
|
8
|
-
# @example Customize
|
8
|
+
# @example Customize files and remind the requester to update TOCs when necessary.
|
9
9
|
#
|
10
|
-
# toc.
|
10
|
+
# toc.files = ['README.md']
|
11
11
|
# toc.is_toc_correct?
|
12
12
|
#
|
13
13
|
# @see dblock/danger-toc
|
14
14
|
# @tags toc
|
15
15
|
|
16
16
|
class DangerToc < Plugin
|
17
|
-
|
18
|
-
# @return [Array]
|
19
|
-
attr_accessor :filenames
|
17
|
+
extend Forwardable
|
20
18
|
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
def_delegators Danger::Toc.config, *Danger::Toc::Config::DELEGATORS
|
20
|
+
|
21
|
+
# Run all checks.
|
22
|
+
# @return [void]
|
23
|
+
def check!
|
24
|
+
is_toc_correct?
|
24
25
|
end
|
25
26
|
|
26
27
|
# Run all checks.
|
27
28
|
# @return [void]
|
28
29
|
def check
|
29
|
-
|
30
|
+
warn '[DEPRECATION] `check` is deprecated. Please use `check!` instead.'
|
31
|
+
check!
|
30
32
|
end
|
31
33
|
|
32
34
|
# Has the README file been modified?
|
33
35
|
# @return [boolean]
|
34
36
|
def toc_changes?
|
35
|
-
(git.modified_files &
|
37
|
+
(git.modified_files & files).any? || (git.added_files & files).any?
|
36
38
|
end
|
37
39
|
|
38
40
|
# Is the TOC format correct?
|
39
41
|
# @return [boolean]
|
40
42
|
def is_toc_correct?
|
41
|
-
|
43
|
+
files.all? do |filename|
|
42
44
|
toc_file = Danger::Toc::MarkdownFile.new(filename)
|
43
45
|
if !toc_file.exists?
|
44
46
|
messaging.fail("The #{filename} file does not exist.", sticky: false)
|
data/spec/config_spec.rb
CHANGED
@@ -14,9 +14,7 @@ describe Danger::Toc::Config do
|
|
14
14
|
end
|
15
15
|
context 'custom value' do
|
16
16
|
before do
|
17
|
-
Danger::Toc.
|
18
|
-
config.files = ['README.md', 'SOMETHING.md']
|
19
|
-
end
|
17
|
+
Danger::Toc.config.files = ['README.md', 'SOMETHING.md']
|
20
18
|
end
|
21
19
|
|
22
20
|
it 'is set' do
|
@@ -32,9 +30,7 @@ describe Danger::Toc::Config do
|
|
32
30
|
end
|
33
31
|
context 'custom value' do
|
34
32
|
before do
|
35
|
-
Danger::Toc.
|
36
|
-
config.header = 'Custom TOC'
|
37
|
-
end
|
33
|
+
Danger::Toc.config.header = 'Custom TOC'
|
38
34
|
end
|
39
35
|
|
40
36
|
it 'is set' do
|
@@ -52,9 +48,7 @@ describe Danger::Toc::Config do
|
|
52
48
|
|
53
49
|
context 'custom value' do
|
54
50
|
before do
|
55
|
-
Danger::Toc.
|
56
|
-
config.format = :kramdown
|
57
|
-
end
|
51
|
+
Danger::Toc.config.format = :kramdown
|
58
52
|
end
|
59
53
|
|
60
54
|
it 'is set' do
|
data/spec/toc_spec.rb
CHANGED
@@ -13,7 +13,7 @@ describe Danger::Toc do
|
|
13
13
|
let(:filename) { File.expand_path('fixtures/markdown_file/one_section_with_toc.md', __dir__) }
|
14
14
|
let(:dangerfile) { testing_dangerfile }
|
15
15
|
let(:toc) do
|
16
|
-
dangerfile.toc.
|
16
|
+
dangerfile.toc.files = [filename]
|
17
17
|
dangerfile.toc
|
18
18
|
end
|
19
19
|
let(:status_report) { toc.status_report }
|
@@ -108,9 +108,7 @@ Here's the expected TOC for #{filename}:
|
|
108
108
|
|
109
109
|
context 'with a custom toc header' do
|
110
110
|
before do
|
111
|
-
Danger::Toc.
|
112
|
-
config.header = 'Custom TOC'
|
113
|
-
end
|
111
|
+
Danger::Toc.config.header = 'Custom TOC'
|
114
112
|
end
|
115
113
|
|
116
114
|
context 'with missing TOC' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-toc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dblock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-07-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -52,132 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: bundler
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.3'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.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.14'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '2.14'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: guard-rspec
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '4.7'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '4.7'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: listen
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: pry
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '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'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rake
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '10.0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '10.0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: rspec
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '3.4'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '3.4'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: rubocop
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - '='
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 0.58.2
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - '='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.58.2
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: yard
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
55
|
description: A danger.systems plugin for your markdown TOC.
|
182
56
|
email:
|
183
57
|
- dblock@dblock.org
|
@@ -247,8 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
121
|
- !ruby/object:Gem::Version
|
248
122
|
version: '0'
|
249
123
|
requirements: []
|
250
|
-
|
251
|
-
rubygems_version: 2.7.6
|
124
|
+
rubygems_version: 3.0.3
|
252
125
|
signing_key:
|
253
126
|
specification_version: 4
|
254
127
|
summary: A danger.systems plugin for your markdown TOC.
|