tocer 14.5.0 → 15.1.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
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +6 -4
- data/lib/tocer/cli/parser.rb +2 -1
- data/lib/tocer/cli/parsers/core.rb +2 -1
- data/lib/tocer/cli/parsers/flag.rb +2 -1
- data/lib/tocer/cli/shell.rb +3 -1
- data/lib/tocer/rake/{tasks.rb → register.rb} +7 -7
- data/lib/tocer/transformers/link.rb +3 -2
- data/lib/tocer/transformers/text.rb +3 -2
- data/tocer.gemspec +8 -7
- data.tar.gz.sig +0 -0
- metadata +29 -16
- metadata.gz.sig +0 -0
- data/lib/tocer/rake/setup.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de1ff1beeccbc0c7aec3406d0ff33ebf20c26d0e0777be5fe33dc37c6ddc345e
|
4
|
+
data.tar.gz: 96066c0c0be259676da512cd3d6f204ac0e23441f10c10051297930f9919dffb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81ea0e85b0c3cdf5746c634b7490612aa94295268a4cc1248a507b7942e103615048daac79007c5e9b588ae664794f3382254e5610d4ea42efeda17f28a8256f
|
7
|
+
data.tar.gz: 7d21dc4e246edab4c8770031d90b2de847a042e27756933d499afdd42b5c383153d97aea20c9ae6c31475b16af07a38e23850698d995c10a16ee7fb52bccca7e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -123,19 +123,21 @@ You can add Rake support by adding the following to your `Rakefile`:
|
|
123
123
|
[source,ruby]
|
124
124
|
----
|
125
125
|
begin
|
126
|
-
require "tocer/rake/
|
126
|
+
require "tocer/rake/register"
|
127
127
|
rescue LoadError => error
|
128
128
|
puts error.message
|
129
129
|
end
|
130
|
+
|
131
|
+
Tocer::Rake::Register.call
|
130
132
|
----
|
131
133
|
|
132
|
-
Once
|
134
|
+
Once required and registered, the following tasks will be available (i.e. `bundle exec rake -T`):
|
133
135
|
|
134
136
|
....
|
135
|
-
rake toc[label,includes] #
|
137
|
+
rake toc[label,includes] # Insert/Update Table of Contents
|
136
138
|
....
|
137
139
|
|
138
|
-
|
140
|
+
You can invoke the task as follows (quotes are only necessary if spaces are used):
|
139
141
|
|
140
142
|
[source,bash]
|
141
143
|
----
|
data/lib/tocer/cli/parser.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "core"
|
3
4
|
require "optparse"
|
4
5
|
|
5
6
|
module Tocer
|
@@ -18,7 +19,7 @@ module Tocer
|
|
18
19
|
@configuration_duplicate = configuration.dup
|
19
20
|
end
|
20
21
|
|
21
|
-
def call arguments =
|
22
|
+
def call arguments = Core::EMPTY_ARRAY
|
22
23
|
sections.each { |parser| parser.call configuration_duplicate, client: }
|
23
24
|
client.parse arguments
|
24
25
|
configuration_duplicate.freeze
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "core"
|
3
4
|
require "refinements/structs"
|
4
5
|
|
5
6
|
module Tocer
|
@@ -21,7 +22,7 @@ module Tocer
|
|
21
22
|
@client = client
|
22
23
|
end
|
23
24
|
|
24
|
-
def call arguments =
|
25
|
+
def call arguments = ::Core::EMPTY_ARRAY
|
25
26
|
client.banner = specification.labeled_summary
|
26
27
|
client.separator "\nUSAGE:\n"
|
27
28
|
collate
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "core"
|
3
4
|
require "refinements/structs"
|
4
5
|
|
5
6
|
module Tocer
|
@@ -16,7 +17,7 @@ module Tocer
|
|
16
17
|
@client = client
|
17
18
|
end
|
18
19
|
|
19
|
-
def call arguments =
|
20
|
+
def call arguments = ::Core::EMPTY_ARRAY
|
20
21
|
client.separator "\nOPTIONS:\n"
|
21
22
|
private_methods.sort.grep(/add_/).each { |method| __send__ method }
|
22
23
|
client.parse arguments
|
data/lib/tocer/cli/shell.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "core"
|
4
|
+
|
3
5
|
module Tocer
|
4
6
|
module CLI
|
5
7
|
# The main Command Line Interface (CLI) object.
|
@@ -11,7 +13,7 @@ module Tocer
|
|
11
13
|
@parser = parser
|
12
14
|
end
|
13
15
|
|
14
|
-
def call arguments =
|
16
|
+
def call arguments = Core::EMPTY_ARRAY
|
15
17
|
perform parser.call(arguments)
|
16
18
|
rescue OptionParser::ParseError => error
|
17
19
|
puts error.message
|
@@ -1,27 +1,27 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "rake"
|
4
|
-
require "tocer"
|
5
4
|
require "refinements/structs"
|
5
|
+
require "tocer"
|
6
6
|
|
7
7
|
module Tocer
|
8
8
|
module Rake
|
9
|
-
#
|
10
|
-
class
|
9
|
+
# Registers Rake tasks for use.
|
10
|
+
class Register
|
11
11
|
include ::Rake::DSL
|
12
12
|
using Refinements::Structs
|
13
13
|
|
14
|
-
def self.
|
14
|
+
def self.call = new.call
|
15
15
|
|
16
16
|
def initialize configuration = Container[:configuration], runner: Runner.new
|
17
17
|
@configuration = configuration
|
18
18
|
@runner = runner
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
desc "
|
21
|
+
def call
|
22
|
+
desc "Insert/Update Table of Contents"
|
23
23
|
task :toc, %i[label includes] do |_task, arguments|
|
24
|
-
runner.call configuration.merge(
|
24
|
+
runner.call configuration.merge(arguments.to_h)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "core"
|
3
4
|
require "refinements/arrays"
|
4
5
|
|
5
6
|
module Tocer
|
@@ -14,7 +15,7 @@ module Tocer
|
|
14
15
|
|
15
16
|
def label = parser.content.gsub(embedded_link, embedded_link_label)
|
16
17
|
|
17
|
-
def url = label.downcase.gsub(/\s/, "-").gsub(/[^\w
|
18
|
+
def url = label.downcase.gsub(/\s/, "-").gsub(/[^\w-]+/, "")
|
18
19
|
|
19
20
|
def call(url_suffix: "") = "#{indented_bullet}[#{label}](##{computed_url url_suffix})"
|
20
21
|
|
@@ -22,7 +23,7 @@ module Tocer
|
|
22
23
|
|
23
24
|
attr_reader :parser
|
24
25
|
|
25
|
-
def computed_url(suffix =
|
26
|
+
def computed_url(suffix = Core::EMPTY_STRING) = [url, suffix.to_s].compress.join("-")
|
26
27
|
|
27
28
|
def embedded_link = "[#{embedded_link_label}](#{embedded_link_url})"
|
28
29
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "core"
|
3
4
|
require "refinements/arrays"
|
4
5
|
|
5
6
|
module Tocer
|
@@ -14,7 +15,7 @@ module Tocer
|
|
14
15
|
|
15
16
|
def label = parser.content
|
16
17
|
|
17
|
-
def url = label.downcase.gsub(/\s/, "-").gsub(/[^\w
|
18
|
+
def url = label.downcase.gsub(/\s/, "-").gsub(/[^\w-]+/, "")
|
18
19
|
|
19
20
|
def call(url_suffix: "") = "#{indented_bullet}[#{label}](##{computed_url url_suffix})"
|
20
21
|
|
@@ -22,7 +23,7 @@ module Tocer
|
|
22
23
|
|
23
24
|
attr_reader :parser
|
24
25
|
|
25
|
-
def computed_url(suffix =
|
26
|
+
def computed_url(suffix = Core::EMPTY_STRING) = [url, suffix.to_s].compress.join("-")
|
26
27
|
|
27
28
|
def indented_bullet = prefix_to_spaces.gsub(/\s{2}$/, "- ")
|
28
29
|
|
data/tocer.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "tocer"
|
5
|
-
spec.version = "
|
5
|
+
spec.version = "15.1.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://www.alchemists.io/projects/tocer"
|
@@ -22,13 +22,14 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.signing_key = Gem.default_key_path
|
23
23
|
spec.cert_chain = [Gem.default_cert_path]
|
24
24
|
|
25
|
-
spec.required_ruby_version = "~> 3.
|
26
|
-
spec.add_dependency "cogger", "~> 0.
|
25
|
+
spec.required_ruby_version = "~> 3.2"
|
26
|
+
spec.add_dependency "cogger", "~> 0.5"
|
27
|
+
spec.add_dependency "core", "~> 0.1"
|
27
28
|
spec.add_dependency "dry-container", "~> 0.11"
|
28
|
-
spec.add_dependency "infusible", "~> 0
|
29
|
-
spec.add_dependency "refinements", "~>
|
30
|
-
spec.add_dependency "runcom", "~>
|
31
|
-
spec.add_dependency "spek", "~> 0
|
29
|
+
spec.add_dependency "infusible", "~> 1.0"
|
30
|
+
spec.add_dependency "refinements", "~> 10.0"
|
31
|
+
spec.add_dependency "runcom", "~> 9.0"
|
32
|
+
spec.add_dependency "spek", "~> 1.0"
|
32
33
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
33
34
|
|
34
35
|
spec.bindir = "exe"
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tocer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 15.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -28,7 +28,7 @@ cert_chain:
|
|
28
28
|
CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
|
29
29
|
RFE=
|
30
30
|
-----END CERTIFICATE-----
|
31
|
-
date:
|
31
|
+
date: 2023-01-08 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: cogger
|
@@ -36,14 +36,28 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
39
|
+
version: '0.5'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
46
|
+
version: '0.5'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: core
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.1'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.1'
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: dry-container
|
49
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,56 +78,56 @@ dependencies:
|
|
64
78
|
requirements:
|
65
79
|
- - "~>"
|
66
80
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0
|
81
|
+
version: '1.0'
|
68
82
|
type: :runtime
|
69
83
|
prerelease: false
|
70
84
|
version_requirements: !ruby/object:Gem::Requirement
|
71
85
|
requirements:
|
72
86
|
- - "~>"
|
73
87
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0
|
88
|
+
version: '1.0'
|
75
89
|
- !ruby/object:Gem::Dependency
|
76
90
|
name: refinements
|
77
91
|
requirement: !ruby/object:Gem::Requirement
|
78
92
|
requirements:
|
79
93
|
- - "~>"
|
80
94
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
95
|
+
version: '10.0'
|
82
96
|
type: :runtime
|
83
97
|
prerelease: false
|
84
98
|
version_requirements: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
86
100
|
- - "~>"
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
102
|
+
version: '10.0'
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: runcom
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
92
106
|
requirements:
|
93
107
|
- - "~>"
|
94
108
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
109
|
+
version: '9.0'
|
96
110
|
type: :runtime
|
97
111
|
prerelease: false
|
98
112
|
version_requirements: !ruby/object:Gem::Requirement
|
99
113
|
requirements:
|
100
114
|
- - "~>"
|
101
115
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
116
|
+
version: '9.0'
|
103
117
|
- !ruby/object:Gem::Dependency
|
104
118
|
name: spek
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
106
120
|
requirements:
|
107
121
|
- - "~>"
|
108
122
|
- !ruby/object:Gem::Version
|
109
|
-
version: '0
|
123
|
+
version: '1.0'
|
110
124
|
type: :runtime
|
111
125
|
prerelease: false
|
112
126
|
version_requirements: !ruby/object:Gem::Requirement
|
113
127
|
requirements:
|
114
128
|
- - "~>"
|
115
129
|
- !ruby/object:Gem::Version
|
116
|
-
version: '0
|
130
|
+
version: '1.0'
|
117
131
|
- !ruby/object:Gem::Dependency
|
118
132
|
name: zeitwerk
|
119
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,8 +172,7 @@ files:
|
|
158
172
|
- lib/tocer/elements/comment_block.rb
|
159
173
|
- lib/tocer/import.rb
|
160
174
|
- lib/tocer/parsers/header.rb
|
161
|
-
- lib/tocer/rake/
|
162
|
-
- lib/tocer/rake/tasks.rb
|
175
|
+
- lib/tocer/rake/register.rb
|
163
176
|
- lib/tocer/runner.rb
|
164
177
|
- lib/tocer/transformers/finder.rb
|
165
178
|
- lib/tocer/transformers/link.rb
|
@@ -185,14 +198,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
198
|
requirements:
|
186
199
|
- - "~>"
|
187
200
|
- !ruby/object:Gem::Version
|
188
|
-
version: '3.
|
201
|
+
version: '3.2'
|
189
202
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
203
|
requirements:
|
191
204
|
- - ">="
|
192
205
|
- !ruby/object:Gem::Version
|
193
206
|
version: '0'
|
194
207
|
requirements: []
|
195
|
-
rubygems_version: 3.
|
208
|
+
rubygems_version: 3.4.2
|
196
209
|
signing_key:
|
197
210
|
specification_version: 4
|
198
211
|
summary: A command line interface for generating table of contents for Markdown files.
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/tocer/rake/setup.rb
DELETED