tocer 0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ced1fb93f4c52c60a2ea5269d5dbb26f6987fb3a
4
+ data.tar.gz: 9526ee10285dead69f802fbd995f48dd8c22061b
5
+ SHA512:
6
+ metadata.gz: 21eb3f82c3020bc95a939f01d02f63752a5b060750606e68398f9e9cb8419f603998391dab13b71474df195771686f24742fc86c3c88737892064a0e2dbdafcf
7
+ data.tar.gz: b9bcc33e6ce0dbed48268305c7ea499ee765d4d614571f2497340d8264f63ce552643d35deb59c29c78a1e3edefb39cb37b0f980500a2b42790c81940f2b9d4d
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
data/LICENSE.md ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2015 [Alchemists](https://www.alchemists.io).
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # Tocer
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/tocer.svg)](http://badge.fury.io/rb/tocer)
4
+ [![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/tocer.svg)](https://codeclimate.com/github/bkuhlmann/tocer)
5
+ [![Code Climate Coverage](https://codeclimate.com/github/bkuhlmann/tocer/coverage.svg)](https://codeclimate.com/github/bkuhlmann/tocer)
6
+ [![Gemnasium Status](https://gemnasium.com/bkuhlmann/tocer.svg)](https://gemnasium.com/bkuhlmann/tocer)
7
+ [![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/tocer.svg)](http://travis-ci.org/bkuhlmann/tocer)
8
+ [![Patreon](https://img.shields.io/badge/patreon-donate-brightgreen.svg)](https://www.patreon.com/bkuhlmann)
9
+
10
+ Tocer (a.k.a. Table of Contenter) is command line interface for generating table of contents for Markdown files.
11
+
12
+ <!-- START doctoc generated TOC please keep comment here to allow auto update -->
13
+ <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
14
+ # Table of Contents
15
+
16
+ - [Features](#features)
17
+ - [Requirements](#requirements)
18
+ - [Setup](#setup)
19
+ - [Usage](#usage)
20
+ - [Tests](#tests)
21
+ - [Versioning](#versioning)
22
+ - [Code of Conduct](#code-of-conduct)
23
+ - [Contributions](#contributions)
24
+ - [License](#license)
25
+ - [History](#history)
26
+ - [Credits](#credits)
27
+
28
+ <!-- END doctoc generated TOC please keep comment here to allow auto update -->
29
+
30
+ # Features
31
+
32
+ - Supports Markdown ATX-style headers. Example: `# Header`.
33
+ - Does not support header suffixes. Example: `# Header #`.
34
+ - Does not support header previxes without spaces. Example: `#Header`.
35
+ - Prepends table of contents to Markdown documents that don't have table of contents.
36
+ - Replaces/updates Markdown documents that have existing table of contents.
37
+
38
+ # Requirements
39
+
40
+ 0. A UNIX-based system.
41
+ 0. [MRI 2.x.x](http://www.ruby-lang.org).
42
+
43
+ # Setup
44
+
45
+ For a secure install, type the following (recommended):
46
+
47
+ gem cert --add <(curl -Ls http://www.my-website.com/gem-public.pem)
48
+ gem install tocer --trust-policy MediumSecurity
49
+
50
+ NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
51
+ allowing the installation of unsigned dependencies since they are beyond the scope of this gem.
52
+
53
+ For an insecure install, type the following (not recommended):
54
+
55
+ gem install tocer
56
+
57
+ # Usage
58
+
59
+ From the command line, type: `tocer help`
60
+
61
+ tocer -e, [--edit] # Edit Tocer settings in default editor.
62
+ tocer -g, [--generate=GENERATE] # Generate table of contents.
63
+ tocer -h, [--help=HELP] # Show this message or get help for a command.
64
+ tocer -v, [--version] # Show Tocer version.
65
+
66
+ To add Tocer support, add the following at the correct position within your Markdown files:
67
+
68
+ ```
69
+ <!-- Tocer[start]: Auto-generated, don't remove. -->
70
+ <!-- Tocer[finish]: Auto-generated, don't remove. -->
71
+ ```
72
+
73
+ Alternatively, you can run `tocer -g <file_path>` on a file that does not have Tocer support and it will prepend the above
74
+ to your file, complete with an auto-generated table of contents.
75
+
76
+ In the case that Tocer has already auto-generated a table of contents for a Markdown file, the existing table of
77
+ contents has become stale, or placement of the table of contents has changed you can re-run Tocer on that file to auto-
78
+ update it with new table of contents.
79
+
80
+ # Tests
81
+
82
+ To test, run:
83
+
84
+ bundle exec rake
85
+
86
+ # Versioning
87
+
88
+ Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
89
+
90
+ - Patch (x.y.Z) - Incremented for small, backwards compatible bug fixes.
91
+ - Minor (x.Y.z) - Incremented for new, backwards compatible public API enhancements and/or bug fixes.
92
+ - Major (X.y.z) - Incremented for any backwards incompatible public API changes.
93
+
94
+ # Code of Conduct
95
+
96
+ Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By participating in this project
97
+ you agree to abide by its terms.
98
+
99
+ # Contributions
100
+
101
+ Read [CONTRIBUTING](CONTRIBUTING.md) for details.
102
+
103
+ # License
104
+
105
+ Copyright (c) 2015 [Alchemists](https://www.alchemists.io).
106
+ Read the [LICENSE](LICENSE.md) for details.
107
+
108
+ # History
109
+
110
+ Read the [CHANGELOG](CHANGELOG.md) for details.
111
+ Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
112
+
113
+ # Credits
114
+
115
+ Developed by [Brooke Kuhlmann](https://www.alchemists.io) at [Alchemists](https://www.alchemists.io).
data/bin/tocer ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require "tocer"
4
+ require "tocer/cli"
5
+ require "tocer/identity"
6
+
7
+ Process.setproctitle Tocer::Identity.version_label
8
+ Tocer::CLI.start
data/lib/tocer.rb ADDED
@@ -0,0 +1,5 @@
1
+ require "tocer/builder"
2
+ require "tocer/commenter"
3
+ require "tocer/identity"
4
+ require "tocer/transformer"
5
+ require "tocer/writer"
@@ -0,0 +1,32 @@
1
+ module Tocer
2
+ # Builds table of contents for a document in Markdown.
3
+ class Builder
4
+ def initialize lines, label: "# Table of Contents", transformer: Transformer, commenter: Commenter
5
+ @lines = lines
6
+ @label = label
7
+ @transformer = transformer
8
+ @commenter = commenter.new
9
+ end
10
+
11
+ def headers
12
+ lines.select { |line| line.start_with? "#" }
13
+ end
14
+
15
+ def build
16
+ return "" if headers.empty?
17
+
18
+ content = "#{commenter.start}\n\n"
19
+ content << "#{label}\n\n"
20
+ content << headers_as_links.join("\n")
21
+ content << "\n\n#{commenter.finish}\n\n"
22
+ end
23
+
24
+ private
25
+
26
+ attr_reader :lines, :label, :transformer, :commenter
27
+
28
+ def headers_as_links
29
+ headers.map { |header| transformer.new(header).transform }
30
+ end
31
+ end
32
+ end
data/lib/tocer/cli.rb ADDED
@@ -0,0 +1,46 @@
1
+ require "yaml"
2
+ require "thor"
3
+ require "thor/actions"
4
+ require "thor_plus/actions"
5
+
6
+ module Tocer
7
+ # The Command Line Interface (CLI) for the gem.
8
+ class CLI < Thor
9
+ include Thor::Actions
10
+ include ThorPlus::Actions
11
+
12
+ package_name Tocer::Identity.version_label
13
+
14
+ def initialize args = [], options = {}, config = {}
15
+ super args, options, config
16
+ end
17
+
18
+ desc "-g, [--generate=GENERATE]", "Generate table of contents."
19
+ map %w(-g --generate) => :generate
20
+ def generate file_path
21
+ writer = Writer.new file_path
22
+ writer.write
23
+ say "Generated table of contents: #{file_path}."
24
+ end
25
+
26
+ desc "-e, [--edit]", "Edit #{Tocer::Identity.label} settings in default editor."
27
+ map %w(-e --edit) => :edit
28
+ def edit
29
+ resource_file = File.join ENV["HOME"], Tocer::Identity.file_name
30
+ info "Editing: #{resource_file}..."
31
+ `#{editor} #{resource_file}`
32
+ end
33
+
34
+ desc "-v, [--version]", "Show #{Tocer::Identity.label} version."
35
+ map %w(-v --version) => :version
36
+ def version
37
+ say Tocer::Identity.version_label
38
+ end
39
+
40
+ desc "-h, [--help=HELP]", "Show this message or get help for a command."
41
+ map %w(-h --help) => :help
42
+ def help task = nil
43
+ say && super
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,38 @@
1
+ module Tocer
2
+ # Represents table of contents start and finish comments.
3
+ class Commenter
4
+ def initialize start_id: "Tocer[start]", finish_id: "Tocer[finish]", message: "Auto-generated, don't remove."
5
+ @start_id = start_id
6
+ @finish_id = finish_id
7
+ @message = message
8
+ end
9
+
10
+ def start
11
+ comment start_id, message
12
+ end
13
+
14
+ def start_index collection
15
+ index collection, start
16
+ end
17
+
18
+ def finish
19
+ comment finish_id, message
20
+ end
21
+
22
+ def finish_index collection
23
+ index collection, finish
24
+ end
25
+
26
+ private
27
+
28
+ attr_reader :start_id, :finish_id, :message
29
+
30
+ def comment id, message
31
+ "<!-- #{id}: #{message} -->"
32
+ end
33
+
34
+ def index collection, text
35
+ collection.index { |line| line =~ /#{Regexp.escape text}/ }
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,24 @@
1
+ module Tocer
2
+ # Gem identity information.
3
+ module Identity
4
+ def self.name
5
+ "tocer"
6
+ end
7
+
8
+ def self.label
9
+ "Tocer"
10
+ end
11
+
12
+ def self.version
13
+ "0.1.0"
14
+ end
15
+
16
+ def self.version_label
17
+ "#{label} #{version}"
18
+ end
19
+
20
+ def self.file_name
21
+ ".#{name}rc"
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,6 @@
1
+ begin
2
+ require "rspec/core/rake_task"
3
+ RSpec::Core::RakeTask.new(:spec)
4
+ rescue LoadError => error
5
+ puts error.message
6
+ end
@@ -0,0 +1,6 @@
1
+ begin
2
+ require "rubocop/rake_task"
3
+ RuboCop::RakeTask.new
4
+ rescue LoadError => error
5
+ puts error.message
6
+ end
@@ -0,0 +1,38 @@
1
+ module Tocer
2
+ # Transforms Markdown headers into anchored links.
3
+ class Transformer
4
+ def initialize text
5
+ @text = text
6
+ end
7
+
8
+ def pounds
9
+ String text[/\#{1,}/]
10
+ end
11
+
12
+ def label
13
+ return "" if text.empty?
14
+ text[pounds.length + 1, text.length].strip
15
+ end
16
+
17
+ def bullet
18
+ return "" if pounds.empty?
19
+ pounds_to_spaces(pounds).gsub(/\s{2}$/, "- ")
20
+ end
21
+
22
+ def url
23
+ label.downcase.gsub(/\s/, "-").gsub(/[^\w\-\+\&]+/, "")
24
+ end
25
+
26
+ def transform
27
+ "#{bullet}[#{label}](##{url})"
28
+ end
29
+
30
+ private
31
+
32
+ attr_reader :text
33
+
34
+ def pounds_to_spaces pounds
35
+ Array.new(pounds.length, " ").join
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,49 @@
1
+ module Tocer
2
+ # Writes table of contents to a Markdown document.
3
+ class Writer
4
+ def initialize file_path, builder: Builder, commenter: Commenter
5
+ @file_path = file_path
6
+ @file_lines = File.open(file_path).to_a
7
+ @builder = builder
8
+ setup_indexes commenter.new, @file_lines
9
+ end
10
+
11
+ def write
12
+ body = start_index ? replace_toc : prepend_toc
13
+ File.open(file_path, "w") { |file| file.write body }
14
+ end
15
+
16
+ private
17
+
18
+ attr_reader :file_path, :file_lines, :start_index, :finish_index, :builder, :commenter
19
+
20
+ def setup_indexes commenter, lines
21
+ @start_index = commenter.start_index lines
22
+ @finish_index = commenter.finish_index lines
23
+ end
24
+
25
+ def content lines
26
+ builder.new(lines).build
27
+ end
28
+
29
+ def remove_toc lines
30
+ toc_range = ((start_index - 1)..finish_index)
31
+ lines.reject.with_index { |_, index| toc_range.include? index }
32
+ end
33
+
34
+ def add_toc old_lines, new_lines
35
+ old_lines.insert start_index, new_lines
36
+ end
37
+
38
+ def replace_toc
39
+ old_lines = remove_toc file_lines
40
+ new_lines = content file_lines[finish_index, file_lines.length]
41
+
42
+ add_toc(old_lines, new_lines).join
43
+ end
44
+
45
+ def prepend_toc
46
+ content(file_lines) << file_lines.join
47
+ end
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,334 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tocer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Brooke Kuhlmann
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZicm9v
14
+ a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
15
+ aW8wHhcNMTUwNzA1MTQ1MzExWhcNMTYwNzA0MTQ1MzExWjBBMQ8wDQYDVQQDDAZi
16
+ cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
17
+ GRYCaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzhOVcvLGBCceM
18
+ PppVpJLUKsnskWzc1VqBXmv30feKNw+MOxMQaDsIP421qwqGO/2JHY60Kuobssk+
19
+ 8/wqZkVFF/FFKxoQjuhlhc+VWLm8jWgXd4N1kwO2yytscQTzxc5qXarwA+36fqVH
20
+ RhBAHhjka+HdBI+6o3CXRHJoC47iav+QpR7u/wYl3gNq6MJO3MmTKqHegEDLjRN0
21
+ FJAr3bRAwq03ZtTuAVA2bdKLGThehe1RRRtJHJ/PHpmL2c203/GTXYtG6C8ILZIp
22
+ ZroTqQ8yglCJ+3hSOmodZqSAQ0Rj7GJgtuNH81qlSrHu5sTvoZjGmEqSIhvsSJ80
23
+ wKoPdZnFAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
24
+ BBSUnF478a5lB4xuOBiktJdMJv6JmDAfBgNVHREEGDAWgRRicm9va2VAYWxjaGVt
25
+ aXN0cy5pbzAfBgNVHRIEGDAWgRRicm9va2VAYWxjaGVtaXN0cy5pbzANBgkqhkiG
26
+ 9w0BAQUFAAOCAQEAT7KtBXWsq1KA7NOSMeFEDeSvhrgdLwCG/37pIu0rjvx9iAW4
27
+ gncxV0MccqIUtaF+lekjlXkIO+rXAVjvdha23KtpFTW90dYXp4NLPnPlSdyvYzJy
28
+ FIAaWGvujOT8xEu4umd45q5aepE8li4bR071i5Z7F0trKNVYYrxjQFmH5SSKYRT/
29
+ fXtICtAh1de3z3SOSK58IMPwjuoApYBxiqlmx0Uhla7mrzCE5+NmLPit3hLH6JFK
30
+ aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
31
+ xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
32
+ -----END CERTIFICATE-----
33
+ date: 2015-11-15 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: thor
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
50
+ name: thor_plus
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ - !ruby/object:Gem::Dependency
78
+ name: gemsmith
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ - !ruby/object:Gem::Dependency
92
+ name: pry
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ - !ruby/object:Gem::Dependency
106
+ name: pry-byebug
107
+ requirement: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ - !ruby/object:Gem::Dependency
120
+ name: pry-remote
121
+ requirement: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ type: :development
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ - !ruby/object:Gem::Dependency
134
+ name: pry-state
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ type: :development
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ - !ruby/object:Gem::Dependency
148
+ name: pry-rescue
149
+ requirement: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ - !ruby/object:Gem::Dependency
162
+ name: pry-stack_explorer
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ type: :development
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ - !ruby/object:Gem::Dependency
176
+ name: rspec
177
+ requirement: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ - !ruby/object:Gem::Dependency
190
+ name: rb-fsevent
191
+ requirement: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ type: :development
197
+ prerelease: false
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ - !ruby/object:Gem::Dependency
204
+ name: guard-rspec
205
+ requirement: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ type: :development
211
+ prerelease: false
212
+ version_requirements: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ - !ruby/object:Gem::Dependency
218
+ name: terminal-notifier
219
+ requirement: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ type: :development
225
+ prerelease: false
226
+ version_requirements: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ - !ruby/object:Gem::Dependency
232
+ name: terminal-notifier-guard
233
+ requirement: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ type: :development
239
+ prerelease: false
240
+ version_requirements: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ - !ruby/object:Gem::Dependency
246
+ name: climate_control
247
+ requirement: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: '0'
252
+ type: :development
253
+ prerelease: false
254
+ version_requirements: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ - !ruby/object:Gem::Dependency
260
+ name: rubocop
261
+ requirement: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ type: :development
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ - !ruby/object:Gem::Dependency
274
+ name: codeclimate-test-reporter
275
+ requirement: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: '0'
280
+ type: :development
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
287
+ description: A command line interface for generating table of contents for Markdown
288
+ files.
289
+ email:
290
+ - brooke@alchemists.io
291
+ executables:
292
+ - tocer
293
+ extensions: []
294
+ extra_rdoc_files:
295
+ - README.md
296
+ - LICENSE.md
297
+ files:
298
+ - LICENSE.md
299
+ - README.md
300
+ - bin/tocer
301
+ - lib/tocer.rb
302
+ - lib/tocer/builder.rb
303
+ - lib/tocer/cli.rb
304
+ - lib/tocer/commenter.rb
305
+ - lib/tocer/identity.rb
306
+ - lib/tocer/tasks/rspec.rake
307
+ - lib/tocer/tasks/rubocop.rake
308
+ - lib/tocer/transformer.rb
309
+ - lib/tocer/writer.rb
310
+ homepage: https://www.alchemists.io
311
+ licenses:
312
+ - MIT
313
+ metadata: {}
314
+ post_install_message:
315
+ rdoc_options: []
316
+ require_paths:
317
+ - lib
318
+ required_ruby_version: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - ">="
321
+ - !ruby/object:Gem::Version
322
+ version: '0'
323
+ required_rubygems_version: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ requirements: []
329
+ rubyforge_project:
330
+ rubygems_version: 2.5.0
331
+ signing_key:
332
+ specification_version: 4
333
+ summary: A command line interface for generating table of contents for Markdown files.
334
+ test_files: []
metadata.gz.sig ADDED
Binary file