pragmater 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: 5e3cd60cb96e801aa4fd3cc4e1c6598d2298eb8b
4
+ data.tar.gz: f518b806aafe3e671c97651d739b59c81312fce5
5
+ SHA512:
6
+ metadata.gz: 714d74c9f14f6a301325e61e662388a2a780f98589f858b73f6a4080ca9afe77a5f8f5db6d56e86e92b7d75aca48efaa9a710b94d83d6ab5218b6529c03b15bf
7
+ data.tar.gz: fe04dadb9f1324af93dcaacf37bfdb50c9c8d8945f3f183170c1db3974f86c5b9d42b99d205383b331a55f95bd7d468180003e3d3ab6acc9d872d4c239b3f320
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,120 @@
1
+ # Pragmater
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/pragmater.svg)](http://badge.fury.io/rb/pragmater)
4
+ [![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/pragmater.svg)](https://codeclimate.com/github/bkuhlmann/pragmater)
5
+ [![Code Climate Coverage](https://codeclimate.com/github/bkuhlmann/pragmater/coverage.svg)](https://codeclimate.com/github/bkuhlmann/pragmater)
6
+ [![Gemnasium Status](https://gemnasium.com/bkuhlmann/pragmater.svg)](https://gemnasium.com/bkuhlmann/pragmater)
7
+ [![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/pragmater.svg)](https://travis-ci.org/bkuhlmann/pragmater)
8
+ [![Patreon](https://img.shields.io/badge/patreon-donate-brightgreen.svg)](https://www.patreon.com/bkuhlmann)
9
+
10
+ A command line interface for adding [directive pragma](https://en.wikipedia.org/wiki/Directive_(programming)) comments
11
+ (a.k.a. *magic comments*) to source files. Examples:
12
+
13
+ #! /usr/bin/ruby
14
+ # frozen_string_literal: true
15
+ # encoding: UTF-8
16
+
17
+ With the release of [Ruby 2.3.0](https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-released), support for frozen
18
+ strings are now supported via a pragma comment. This gems provides a easy way to add pragma comments to single or
19
+ multiple Ruby source files in order to benefit from improved memory and concurrency performance.
20
+
21
+ <!-- Tocer[start]: Auto-generated, don't remove. -->
22
+
23
+ # Table of Contents
24
+
25
+ - [Features](#features)
26
+ - [Requirements](#requirements)
27
+ - [Setup](#setup)
28
+ - [Usage](#usage)
29
+ - [Command Line Interface (CLI)](#command-line-interface-cli)
30
+ - [Tests](#tests)
31
+ - [Versioning](#versioning)
32
+ - [Code of Conduct](#code-of-conduct)
33
+ - [Contributions](#contributions)
34
+ - [License](#license)
35
+ - [History](#history)
36
+ - [Credits](#credits)
37
+
38
+ <!-- Tocer[finish]: Auto-generated, don't remove. -->
39
+
40
+ # Features
41
+
42
+ - Supports adding a pragma comment or multiple pragma comments to single or multiple source files.
43
+ - Supports removing a pragma comment or multiple pragma comments from single or multiple source files.
44
+ - Supports whitelist filtering. Defaults to `*.rb` and `*.rake` files.
45
+ - Ensures duplicate pragma comments never exist.
46
+ - Ensures pragma commments are always properly formatted.
47
+
48
+ # Requirements
49
+
50
+ 0. [MRI 2.3.x](https://www.ruby-lang.org)
51
+
52
+ # Setup
53
+
54
+ For a secure install, type the following (recommended):
55
+
56
+ gem cert --add <(curl -Ls https://www.my-website.com/gem-public.pem)
57
+ gem install pragmater --trust-policy MediumSecurity
58
+
59
+ NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
60
+ allowing the installation of unsigned dependencies since they are beyond the scope of this gem.
61
+
62
+ For an insecure install, type the following (not recommended):
63
+
64
+ gem install pragmater
65
+
66
+ # Usage
67
+
68
+ ## Command Line Interface (CLI)
69
+
70
+ From the command line, type: `pragmater help`
71
+
72
+ pragmater -a, [--add=ADD] # Add pragma comments to source file(s).
73
+ pragmater -e, [--edit] # Edit Pragmater settings in default editor.
74
+ pragmater -h, [--help=HELP] # Show this message or get help for a command.
75
+ pragmater -r, [--remove=REMOVE] # Remove pragma comments from source file(s).
76
+ pragmater -v, [--version] # Show Pragmater version.
77
+
78
+ Both the `--add` and `--remove` options provide the ability to supply specific pragma comments and/or whitelisted file
79
+ extensions:
80
+
81
+ -c, [--comments=one two three] # Pragma comments
82
+ -e, [--extensions=one two three] # File extension whitelist
83
+ # Default: [".rb", ".rake"]
84
+
85
+ # Tests
86
+
87
+ To test, run:
88
+
89
+ bundle exec rake
90
+
91
+ # Versioning
92
+
93
+ Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
94
+
95
+ - Patch (x.y.Z) - Incremented for small, backwards compatible bug fixes.
96
+ - Minor (x.Y.z) - Incremented for new, backwards compatible public API enhancements and/or bug fixes.
97
+ - Major (X.y.z) - Incremented for any backwards incompatible public API changes.
98
+
99
+ # Code of Conduct
100
+
101
+ Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By participating in this project
102
+ you agree to abide by its terms.
103
+
104
+ # Contributions
105
+
106
+ Read [CONTRIBUTING](CONTRIBUTING.md) for details.
107
+
108
+ # License
109
+
110
+ Copyright (c) 2015 [Alchemists](https://www.alchemists.io).
111
+ Read the [LICENSE](LICENSE.md) for details.
112
+
113
+ # History
114
+
115
+ Read the [CHANGELOG](CHANGELOG.md) for details.
116
+ Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
117
+
118
+ # Credits
119
+
120
+ Developed by [Brooke Kuhlmann](https://www.alchemists.io) at [Alchemists](https://www.alchemists.io).
data/bin/pragmater ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "pragmater"
5
+ require "pragmater/cli"
6
+ require "pragmater/identity"
7
+
8
+ Process.setproctitle Pragmater::Identity.version_label
9
+ Pragmater::CLI.start
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "yaml"
4
+ require "pathname"
5
+ require "thor"
6
+ require "thor/actions"
7
+ require "thor_plus/actions"
8
+
9
+ module Pragmater
10
+ # The Command Line Interface (CLI) for the gem.
11
+ class CLI < Thor
12
+ include Thor::Actions
13
+ include ThorPlus::Actions
14
+
15
+ package_name Pragmater::Identity.version_label
16
+
17
+ def initialize args = [], options = {}, config = {}
18
+ super args, options, config
19
+ end
20
+
21
+ desc "-a, [--add=ADD]", "Add pragma comments to source file(s)."
22
+ map %w(-a --add) => :add
23
+ method_option :comments, aliases: "-c", desc: "Pragma comments", type: :array, default: []
24
+ method_option :extensions, aliases: "-e", desc: "File extension whitelist", type: :array, default: [".rb", ".rake"]
25
+ def add path
26
+ write path, options[:comments], options[:extensions], :add
27
+ end
28
+
29
+ desc "-r, [--remove=REMOVE]", "Remove pragma comments from source file(s)."
30
+ map %w(-r --remove) => :remove
31
+ method_option :comments, aliases: "-c", desc: "Pragma comments", type: :array, default: []
32
+ method_option :extensions, aliases: "-e", desc: "File extension whitelist", type: :array, default: [".rb", ".rake"]
33
+ def remove path
34
+ write path, options[:comments], options[:extensions], :remove
35
+ end
36
+
37
+ desc "-e, [--edit]", "Edit #{Pragmater::Identity.label} settings in default editor."
38
+ map %w(-e --edit) => :edit
39
+ def edit
40
+ resource_file = File.join ENV["HOME"], Pragmater::Identity.file_name
41
+ info "Editing: #{resource_file}..."
42
+ `#{editor} #{resource_file}`
43
+ end
44
+
45
+ desc "-v, [--version]", "Show #{Pragmater::Identity.label} version."
46
+ map %w(-v --version) => :version
47
+ def version
48
+ say Pragmater::Identity.version_label
49
+ end
50
+
51
+ desc "-h, [--help=HELP]", "Show this message or get help for a command."
52
+ map %w(-h --help) => :help
53
+ def help task = nil
54
+ say && super
55
+ end
56
+
57
+ private
58
+
59
+ def update_file path, comments, action
60
+ Writer.new(path, comments).public_send action
61
+ say "Updated: #{path}."
62
+ end
63
+
64
+ def write path, comments, extensions, action
65
+ pathname = Pathname path
66
+
67
+ case
68
+ when pathname.file?
69
+ update_file pathname, comments, action
70
+ when pathname.directory?
71
+ files = Pathname.glob %(#{pathname}/**/*{#{extensions.join ","}})
72
+ files.each { |file_path| update_file file_path, comments, action }
73
+ else
74
+ error "Invalid path: #{path}."
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pragmater
4
+ # Handles pragma comments.
5
+ class Commenter
6
+ def initialize older, newer, formatter: Formatter
7
+ @formatter = formatter
8
+ @older = format older
9
+ @newer = format newer
10
+ end
11
+
12
+ def add
13
+ older | newer
14
+ end
15
+
16
+ def remove
17
+ older - (older & newer)
18
+ end
19
+
20
+ private
21
+
22
+ attr_reader :older, :newer, :formatter
23
+
24
+ def format comments
25
+ Array(comments).map { |comment| formatter.new(comment).format }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pragmater
4
+ # Formats pragma comments in a consistent manner.
5
+ class Formatter
6
+ def self.shebang_format
7
+ /
8
+ \A # Start of line.
9
+ \# # Start of comment.
10
+ \! # Bang.
11
+ \s? # Space - optional.
12
+ \/.*ruby # Absolute path to Ruby program.
13
+ \Z # End of line.
14
+ /x
15
+ end
16
+
17
+ def self.pragma_format
18
+ /
19
+ \A # Start of line.
20
+ \# # Start of comment.
21
+ \s? # Space - optional.
22
+ \w+ # Key - 1 or more word characters only.
23
+ \: # Key and value delimiter.
24
+ \s? # Space - optional.
25
+ .+ # Value - 1 or more characters.
26
+ \Z # End of line.
27
+ /x
28
+ end
29
+
30
+ def initialize comment
31
+ @comment = comment
32
+ end
33
+
34
+ def format_shebang
35
+ return comment unless comment =~ self.class.shebang_format
36
+
37
+ _, path = comment.split "!"
38
+ "#! #{path.strip}"
39
+ end
40
+
41
+ def format_pragma
42
+ return comment unless comment =~ self.class.pragma_format
43
+
44
+ key, value = comment.split ":"
45
+ "# #{key.gsub(/\#\s?/, "")}: #{value.strip}"
46
+ end
47
+
48
+ def format
49
+ case comment
50
+ when self.class.shebang_format then format_shebang
51
+ when self.class.pragma_format then format_pragma
52
+ else comment
53
+ end
54
+ end
55
+
56
+ private
57
+
58
+ attr_reader :comment
59
+ end
60
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pragmater
4
+ # Gem identity information.
5
+ module Identity
6
+ def self.name
7
+ "pragmater"
8
+ end
9
+
10
+ def self.label
11
+ "Pragmater"
12
+ end
13
+
14
+ def self.version
15
+ "0.1.0"
16
+ end
17
+
18
+ def self.version_label
19
+ "#{label} #{version}"
20
+ end
21
+
22
+ def self.file_name
23
+ ".#{name}rc"
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pragmater
4
+ # Writes formatted pragma comments to source file.
5
+ class Writer
6
+ def initialize file_path, new_comments, formatter: Formatter, commenter: Commenter
7
+ @file_path = file_path
8
+ @file_lines = File.open(file_path).to_a
9
+ @formatter = formatter
10
+ @commenter = commenter
11
+ @old_comments = file_comments
12
+ @new_comments = new_comments
13
+ end
14
+
15
+ def add
16
+ write { (format(commenter.new(old_comments, new_comments).add) + file_lines_without_comments).join }
17
+ end
18
+
19
+ def remove
20
+ write { (format(commenter.new(old_comments, new_comments).remove) + file_lines_without_comments).join }
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :file_path, :file_lines, :new_comments, :old_comments, :formatter, :commenter
26
+
27
+ def file_comments
28
+ file_lines.select { |line| line =~ formatter.shebang_format || line =~ formatter.pragma_format }
29
+ end
30
+
31
+ def file_lines_without_comments
32
+ file_lines.reject { |line| old_comments.include? line }
33
+ end
34
+
35
+ def format lines
36
+ lines.map { |line| "#{line}\n" }
37
+ end
38
+
39
+ def write
40
+ File.open(file_path, "w") { |file| file.write yield }
41
+ end
42
+ end
43
+ end
data/lib/pragmater.rb ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pragmater/commenter"
4
+ require "pragmater/formatter"
5
+ require "pragmater/identity"
6
+ require "pragmater/writer"
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require "rspec/core/rake_task"
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ rescue LoadError => error
7
+ puts error.message
8
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require "rubocop/rake_task"
5
+ RuboCop::RakeTask.new
6
+ rescue LoadError => error
7
+ puts error.message
8
+ end
metadata ADDED
@@ -0,0 +1,310 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pragmater
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
+ date: 2015-12-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor_plus
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: gemsmith
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-remote
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-state
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: pry-rescue
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pry-stack_explorer
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: climate_control
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
+ - !ruby/object:Gem::Dependency
182
+ name: rb-fsevent
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: guard-rspec
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: terminal-notifier
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: terminal-notifier-guard
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rubocop
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: codeclimate-test-reporter
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ description: A command line interface for adding pragma comments to source files.
266
+ email:
267
+ - brooke@alchemists.io
268
+ executables:
269
+ - pragmater
270
+ extensions: []
271
+ extra_rdoc_files:
272
+ - README.md
273
+ - LICENSE.md
274
+ files:
275
+ - LICENSE.md
276
+ - README.md
277
+ - bin/pragmater
278
+ - lib/pragmater.rb
279
+ - lib/pragmater/cli.rb
280
+ - lib/pragmater/commenter.rb
281
+ - lib/pragmater/formatter.rb
282
+ - lib/pragmater/identity.rb
283
+ - lib/pragmater/writer.rb
284
+ - lib/tasks/rspec.rake
285
+ - lib/tasks/rubocop.rake
286
+ homepage: https://github.com/bkuhlmann/pragmater
287
+ licenses:
288
+ - MIT
289
+ metadata: {}
290
+ post_install_message:
291
+ rdoc_options: []
292
+ require_paths:
293
+ - lib
294
+ required_ruby_version: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - "~>"
297
+ - !ruby/object:Gem::Version
298
+ version: '2.3'
299
+ required_rubygems_version: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ">="
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ requirements: []
305
+ rubyforge_project:
306
+ rubygems_version: 2.5.1
307
+ signing_key:
308
+ specification_version: 4
309
+ summary: A command line interface for adding pragma comments to source files.
310
+ test_files: []