cowl 0.6 → 0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CONFIGURE.md +1 -1
- data/README.md +11 -8
- data/bin/cowl +53 -48
- data/lib/cowl.rb +92 -85
- data/lib/version.rb +1 -1
- metadata +36 -64
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6e48650353ef98dadd70e3b3fc38e826c10c97aff618f88c511caf0286f5f549
|
4
|
+
data.tar.gz: 29021bd7603d0ccbdf675ee2087f38db260ff81fbdd4362a6af4a2b2110479ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4754a3574c0d0a19e860e7d9b796e477fe5e643a371ed5937e69961595c2f8ea376e1dad9c946058ecfe18317235b10cddf8cef4f262b1cba7c14eeab441dc4
|
7
|
+
data.tar.gz: fa2410d71cc62eca82074a4503c9a8675ac3c3476787d06b4d113613c812aeadb14b66181f1799ae5042d406c0307f68a8d5f94631a7e01ec971190bd5443df2
|
data/CONFIGURE.md
CHANGED
@@ -12,7 +12,7 @@ Any command-line flags that are present override the same settings in dotfiles a
|
|
12
12
|
|
13
13
|
Run `cowl -h` or `cowl --help` for a full list, or refer to the source code for `bin/cowl`.
|
14
14
|
|
15
|
-
```
|
15
|
+
```console
|
16
16
|
$ cowl -h
|
17
17
|
Usage: cowl [options] [<files>]
|
18
18
|
-i, --ignore pattern Ignore file patterns (fnmatch)
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# EXAMPLES
|
6
6
|
|
7
|
-
```
|
7
|
+
```console
|
8
8
|
$ cowl examples/
|
9
9
|
examples/hello.bf:3:++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
|
10
10
|
|
@@ -24,6 +24,7 @@ $ cowl -h
|
|
24
24
|
Usage: cowl [options] [<files>|-]
|
25
25
|
-i, --ignore pattern Ignore file patterns (fnmatch)
|
26
26
|
-w, --max-width= Maximum column width, either an integer or "unlimited". Default: 80
|
27
|
+
-s, --stat Output in STAT
|
27
28
|
-h, --help Print usage info
|
28
29
|
-v, --version Print version info
|
29
30
|
```
|
@@ -49,20 +50,22 @@ cowl is a shell wrapper around the traditional GNU [grep](http://www.gnu.org/sof
|
|
49
50
|
|
50
51
|
# REQUIREMENTS
|
51
52
|
|
52
|
-
* [
|
53
|
-
* [grep](http://www.gnu.org/software/grep/)
|
54
|
-
|
55
|
-
E.g., Windows users can `chocolatey install git`.
|
53
|
+
* [ruby](https://www.ruby-lang.org/) 2.3+
|
54
|
+
* [grep](http://www.gnu.org/software/grep/)
|
56
55
|
|
57
56
|
## Optional
|
58
57
|
|
59
58
|
* [wc](http://linux.die.net/man/1/wc) can help determine the longest line in a file
|
59
|
+
* [GNU findutils](https://www.gnu.org/software/findutils/)
|
60
|
+
* [stank](https://github.com/mcandre/stank) (e.g. `go get github.com/mcandre/stank/...`)
|
61
|
+
* [Python](https://www.python.org) 3+ (for yamllint)
|
62
|
+
* [Node.js](https://nodejs.org/en/) (for eclint)
|
60
63
|
|
61
64
|
# INSTALL
|
62
65
|
|
63
66
|
Install via [RubyGems](http://rubygems.org/):
|
64
67
|
|
65
|
-
```
|
68
|
+
```console
|
66
69
|
$ gem install cowl
|
67
70
|
```
|
68
71
|
|
@@ -80,7 +83,7 @@ FreeBSD
|
|
80
83
|
|
81
84
|
Keep the interface working:
|
82
85
|
|
83
|
-
```
|
86
|
+
```console
|
84
87
|
$ cucumber
|
85
88
|
```
|
86
89
|
|
@@ -88,7 +91,7 @@ $ cucumber
|
|
88
91
|
|
89
92
|
Keep the code tidy:
|
90
93
|
|
91
|
-
```
|
94
|
+
```console
|
92
95
|
$ rake lint
|
93
96
|
```
|
94
97
|
|
data/bin/cowl
CHANGED
@@ -6,75 +6,80 @@ require 'optparse'
|
|
6
6
|
require 'dotsmack'
|
7
7
|
require 'yaml'
|
8
8
|
require 'cowl'
|
9
|
+
require 'json'
|
9
10
|
|
10
11
|
def main
|
11
|
-
|
12
|
+
ignores = DEFAULT_IGNORES
|
12
13
|
|
13
|
-
|
14
|
+
configuration_flags = {}
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
option = OptionParser.new do |option|
|
17
|
+
option.banner = "Usage: cowl [options] [<files>|-]"
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
option.on('-i', '--ignore pattern', 'Ignore file patterns (fnmatch)') do |pattern|
|
20
|
+
ignores << pattern
|
21
|
+
end
|
21
22
|
|
22
|
-
|
23
|
-
|
24
|
-
|
23
|
+
option.on('-w=', '--max-width', "Maximum column width, either an integer or \"unlimited\". Default: 80") do |max_width|
|
24
|
+
configuration_flags['max_width'] = max_width
|
25
|
+
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
end
|
27
|
+
option.on('-s', '--stat', 'Output in STAT') do
|
28
|
+
configuration_flags['is_stat'] = true
|
29
|
+
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
option.on('-h', '--help', 'Print usage info') do
|
32
|
+
puts option
|
33
|
+
exit
|
34
|
+
end
|
35
|
+
|
36
|
+
option.on('-v', '--version', 'Print version info') do
|
37
|
+
puts "cowl #{Cowl::VERSION}"
|
38
|
+
exit
|
39
|
+
end
|
34
40
|
end
|
35
|
-
end
|
36
41
|
|
37
|
-
|
42
|
+
option.parse!
|
38
43
|
|
39
|
-
|
44
|
+
filenames =
|
40
45
|
if ARGV == []
|
41
|
-
|
46
|
+
['-']
|
42
47
|
else
|
43
|
-
|
48
|
+
ARGV
|
44
49
|
end
|
45
50
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
51
|
+
dotsmack = Dotsmack::Smacker.new(
|
52
|
+
dotignore = '.cowlignore',
|
53
|
+
additional_ignores = ignores,
|
54
|
+
dotconfig = '.cowlrc.yml'
|
55
|
+
)
|
56
|
+
findings = []
|
57
|
+
dotsmack.enumerate(filenames).each do |filename, config|
|
58
|
+
config =
|
59
|
+
if config.nil?
|
60
|
+
configuration_flags
|
61
|
+
else
|
62
|
+
YAML.load(config).merge(configuration_flags)
|
63
|
+
end
|
59
64
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
65
|
+
if filename == '-'
|
66
|
+
check_stdin(config)
|
67
|
+
else
|
68
|
+
check(filename, config)
|
69
|
+
end
|
64
70
|
end
|
65
|
-
end
|
66
71
|
end
|
67
72
|
|
68
73
|
begin
|
69
|
-
|
70
|
-
# User may quit before completion.
|
74
|
+
main
|
75
|
+
# User may quit before completion.
|
71
76
|
rescue Interrupt
|
72
|
-
|
73
|
-
# Bad regex
|
77
|
+
nil
|
78
|
+
# Bad regex
|
74
79
|
rescue RegexpError => e
|
75
|
-
|
76
|
-
# This program may be piped to another program (e.g. `less`),
|
77
|
-
# which is quit before this program completes.
|
80
|
+
puts e
|
81
|
+
# This program may be piped to another program (e.g. `less`),
|
82
|
+
# which is quit before this program completes.
|
78
83
|
rescue Errno::EPIPE, Errno::EMFILE
|
79
|
-
|
84
|
+
nil
|
80
85
|
end
|
data/lib/cowl.rb
CHANGED
@@ -4,49 +4,49 @@ require 'tempfile'
|
|
4
4
|
require_relative 'version'
|
5
5
|
|
6
6
|
DEFAULT_IGNORES = %w(
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
7
|
+
tmp
|
8
|
+
.hg
|
9
|
+
.svn
|
10
|
+
.git
|
11
|
+
.gitignore
|
12
|
+
node_modules
|
13
|
+
bower_components
|
14
|
+
target
|
15
|
+
dist
|
16
|
+
.vagrant
|
17
|
+
Gemfile.lock
|
18
|
+
*.exe
|
19
|
+
*.bin
|
20
|
+
*.apk
|
21
|
+
*.ap_
|
22
|
+
res
|
23
|
+
*.dmg
|
24
|
+
*.pkg
|
25
|
+
*.app
|
26
|
+
*.xcodeproj
|
27
|
+
*.lproj
|
28
|
+
*.xcassets
|
29
|
+
*.pmdoc
|
30
|
+
*.dSYM
|
31
|
+
*.class
|
32
|
+
*.zip
|
33
|
+
*.jar
|
34
|
+
*.war
|
35
|
+
*.xpi
|
36
|
+
*.jad
|
37
|
+
*.cmo
|
38
|
+
*.cmi
|
39
|
+
*.png
|
40
|
+
*.gif
|
41
|
+
*.jpg
|
42
|
+
*.jpeg
|
43
|
+
*.tiff
|
44
|
+
*.ico
|
45
|
+
*.svg
|
46
|
+
*.dot
|
47
|
+
*.wav
|
48
|
+
*.mp3
|
49
|
+
*[.-]min.*
|
50
50
|
)
|
51
51
|
|
52
52
|
DEFAULT_MAX_WIDTH = 80
|
@@ -54,81 +54,88 @@ DEFAULT_MAX_WIDTH = 80
|
|
54
54
|
UNLIMITED = 'unlimited'
|
55
55
|
|
56
56
|
DEFAULT_CONFIGURATION = {
|
57
|
-
|
57
|
+
'max_width' => DEFAULT_MAX_WIDTH
|
58
58
|
}
|
59
59
|
|
60
60
|
#
|
61
61
|
# Parse, model, and print a line too wide for its own good
|
62
62
|
#
|
63
63
|
class Widening
|
64
|
-
|
64
|
+
attr_accessor :filename, :line_number, :line
|
65
65
|
|
66
|
-
|
67
|
-
|
66
|
+
def self.parse(filename, grep_line)
|
67
|
+
match = grep_line.match(/^(.+)\:(.+)$/)
|
68
68
|
|
69
|
-
|
70
|
-
|
69
|
+
line_number = match[1]
|
70
|
+
line = match[2]
|
71
71
|
|
72
|
-
|
73
|
-
|
72
|
+
Widening.new(filename, line_number, line)
|
73
|
+
end
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
75
|
+
def initialize(filename, line_number, line)
|
76
|
+
@filename = filename
|
77
|
+
@line_number = line_number
|
78
|
+
@line = line
|
79
|
+
end
|
80
80
|
|
81
|
-
|
82
|
-
|
83
|
-
|
81
|
+
def to_s
|
82
|
+
"#{filename}:#{line_number}:#{line}"
|
83
|
+
end
|
84
84
|
end
|
85
85
|
|
86
86
|
def self.check_stdin(configuration = nil)
|
87
|
-
|
87
|
+
configuration =
|
88
88
|
if configuration.nil?
|
89
|
-
|
89
|
+
DEFAULT_CONFIGURATION
|
90
90
|
else
|
91
|
-
|
91
|
+
configuration
|
92
92
|
end
|
93
93
|
|
94
|
-
|
94
|
+
max_width = configuration['max_width']
|
95
|
+
is_stat = configuration['is_stat']
|
95
96
|
|
96
|
-
|
97
|
+
contents = $stdin.read
|
97
98
|
|
98
|
-
|
99
|
-
|
100
|
-
|
99
|
+
t = Tempfile.new('cowl')
|
100
|
+
t.write(contents)
|
101
|
+
t.close
|
101
102
|
|
102
|
-
|
103
|
+
filename = t.path
|
103
104
|
|
104
|
-
|
105
|
-
|
105
|
+
if max_width != UNLIMITED
|
106
|
+
output = `grep -n \'^.\\{#{max_width.to_i + 1},\\}$\' \"#{filename}\"`
|
106
107
|
|
107
|
-
|
108
|
+
lines = output.split("\n").reject { |line| line =~ /^Binary file/ }
|
108
109
|
|
109
|
-
|
110
|
+
widenings = lines.map { |line| Widening.parse('stdin', line) }
|
110
111
|
|
111
|
-
|
112
|
-
|
112
|
+
if is_stat
|
113
|
+
widenings.each { |finding|
|
114
|
+
yield finding.to_finding
|
115
|
+
}
|
116
|
+
else
|
117
|
+
widenings.each { |m| puts m }
|
118
|
+
end
|
119
|
+
end
|
113
120
|
end
|
114
121
|
|
115
122
|
def self.check(filename, configuration = nil)
|
116
|
-
|
123
|
+
configuration =
|
117
124
|
if configuration.nil?
|
118
|
-
|
125
|
+
DEFAULT_CONFIGURATION
|
119
126
|
else
|
120
|
-
|
127
|
+
configuration
|
121
128
|
end
|
122
129
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
130
|
+
max_width = configuration['max_width']
|
131
|
+
is_stat = configuration['is_stat']
|
132
|
+
if max_width != UNLIMITED
|
133
|
+
output = `grep -n \'^.\\{#{max_width.to_i + 1},\\}$\' \"#{filename}\"`
|
127
134
|
|
128
|
-
|
135
|
+
lines = output.split("\n").reject { |line| line =~ /^Binary file/ }
|
129
136
|
|
130
|
-
|
137
|
+
widenings = lines.map { |line| Widening.parse(filename, line) }
|
131
138
|
|
132
|
-
|
133
|
-
|
139
|
+
widenings.each { |m| puts m }
|
140
|
+
end
|
134
141
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,237 +1,209 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cowl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.7'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Pennebaker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ptools
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dotsmack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.3'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: reek
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.3'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.3'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: flay
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '2.5'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: flog
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '4.3'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '4.3'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: roodi
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '4.0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '4.0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: churn
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - ~>
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '1.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '1.0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: cane
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - ~>
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '2.6'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - ~>
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '2.6'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: excellent
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - ~>
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '2.1'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - ~>
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '2.1'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rubocop
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - ~>
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0.
|
159
|
+
version: '0.49'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - ~>
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0.
|
166
|
+
version: '0.49'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: tailor
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - ~>
|
171
|
+
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '1.4'
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - ~>
|
178
|
+
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '1.4'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: guard
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ~>
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: '2.6'
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ~>
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '2.6'
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: guard-shell
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - ~>
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: '0.6'
|
202
|
-
type: :development
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - ~>
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: '0.6'
|
209
181
|
- !ruby/object:Gem::Dependency
|
210
182
|
name: rspec
|
211
183
|
requirement: !ruby/object:Gem::Requirement
|
212
184
|
requirements:
|
213
|
-
- - ~>
|
185
|
+
- - "~>"
|
214
186
|
- !ruby/object:Gem::Version
|
215
187
|
version: '3.0'
|
216
188
|
type: :development
|
217
189
|
prerelease: false
|
218
190
|
version_requirements: !ruby/object:Gem::Requirement
|
219
191
|
requirements:
|
220
|
-
- - ~>
|
192
|
+
- - "~>"
|
221
193
|
- !ruby/object:Gem::Version
|
222
194
|
version: '3.0'
|
223
195
|
- !ruby/object:Gem::Dependency
|
224
196
|
name: cucumber
|
225
197
|
requirement: !ruby/object:Gem::Requirement
|
226
198
|
requirements:
|
227
|
-
- - ~>
|
199
|
+
- - "~>"
|
228
200
|
- !ruby/object:Gem::Version
|
229
201
|
version: '1.3'
|
230
202
|
type: :development
|
231
203
|
prerelease: false
|
232
204
|
version_requirements: !ruby/object:Gem::Requirement
|
233
205
|
requirements:
|
234
|
-
- - ~>
|
206
|
+
- - "~>"
|
235
207
|
- !ruby/object:Gem::Version
|
236
208
|
version: '1.3'
|
237
209
|
description: See README.md for example usage
|
@@ -257,17 +229,17 @@ require_paths:
|
|
257
229
|
- lib
|
258
230
|
required_ruby_version: !ruby/object:Gem::Requirement
|
259
231
|
requirements:
|
260
|
-
- -
|
232
|
+
- - ">="
|
261
233
|
- !ruby/object:Gem::Version
|
262
|
-
version: '2.
|
234
|
+
version: '2.3'
|
263
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
236
|
requirements:
|
265
|
-
- -
|
237
|
+
- - ">="
|
266
238
|
- !ruby/object:Gem::Version
|
267
239
|
version: '0'
|
268
240
|
requirements: []
|
269
241
|
rubyforge_project:
|
270
|
-
rubygems_version: 2.
|
242
|
+
rubygems_version: 2.7.7
|
271
243
|
signing_key:
|
272
244
|
specification_version: 4
|
273
245
|
summary: column width linter
|