hound-cli 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 +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +97 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/exe/hound +9 -0
- data/hound.gemspec +29 -0
- data/lib/hound/cli.rb +35 -0
- data/lib/hound/config/base.rb +25 -0
- data/lib/hound/config/eslint.rb +9 -0
- data/lib/hound/config/ruby.rb +9 -0
- data/lib/hound/config/scss.rb +9 -0
- data/lib/hound/config/tslint.rb +9 -0
- data/lib/hound/config_collection.rb +23 -0
- data/lib/hound/errors.rb +6 -0
- data/lib/hound/hound_config.rb +46 -0
- data/lib/hound/parser.rb +7 -0
- data/lib/hound/rules_updater.rb +48 -0
- data/lib/hound/version.rb +3 -0
- data/lib/hound.rb +19 -0
- metadata +205 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 483245c29d53fc7fdeae5ac6349978f54dce8539
|
4
|
+
data.tar.gz: 9714e80febfa1571e228d08097db02d668489844
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0a7edb7d47bdea4c630d7ead838e4d5cfcbd548a52885e8a98c41ad5e03b025d2c12bb77963f3d21534a3b227e0371493b01aaae819eadceace54cc6d3ff3db9
|
7
|
+
data.tar.gz: c75017139604ebecdfca3eda9508730f543e75b7ab9890e82bcb879fcc7516f5800275cacab54f68e84068798abbc41d0c521413f3384dbb50e52eb674c8094e
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright 2016 Platanus
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
# Hound CLI
|
2
|
+
|
3
|
+
Ruby CLI created to get and build style rules we use in Platanus to play with linters.
|
4
|
+
This tool was built to recreate locally, the same behavior we have in [our forked version](https://github.com/platanus/hound) of [Hound](https://github.com/houndci/hound).
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'hound'
|
12
|
+
```
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
|
16
|
+
```bash
|
17
|
+
$ bundle install
|
18
|
+
```
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
### Update command
|
23
|
+
|
24
|
+
This command allows you to update style rules for enabled linters.
|
25
|
+
|
26
|
+
```
|
27
|
+
$ hound rules update
|
28
|
+
```
|
29
|
+
|
30
|
+
After running this command you will get one file (with style rules) for each enabled linter in the **remote** [.hound.yml](https://raw.githubusercontent.com/platanus/la-guia/master/.hound.yml) file. Those files are understood by linters installed in your system. For example: with `ruby` language, a `.rubocop.yml` file will be created. This `.rubocop.yml`, is read by the [rubocop gem](https://github.com/bbatsov/rubocop) (a ruby linter).
|
31
|
+
|
32
|
+
Example:
|
33
|
+
|
34
|
+
Having...
|
35
|
+
|
36
|
+
```yaml
|
37
|
+
javascript:
|
38
|
+
enabled: false
|
39
|
+
eslint:
|
40
|
+
enabled: true
|
41
|
+
config_file: style/config/.eslintrc.json
|
42
|
+
tslint:
|
43
|
+
enabled: false
|
44
|
+
config_file: style/config/tslint.json
|
45
|
+
ruby:
|
46
|
+
enabled: true
|
47
|
+
config_file: style/config/.rubocop.yml
|
48
|
+
scss:
|
49
|
+
enabled: true
|
50
|
+
config_file: style/config/.scss-lint.yml
|
51
|
+
```
|
52
|
+
|
53
|
+
And running...
|
54
|
+
|
55
|
+
```bash
|
56
|
+
$ hound rules update
|
57
|
+
```
|
58
|
+
|
59
|
+
You will get in your `$HOME` path the following files:
|
60
|
+
|
61
|
+
```
|
62
|
+
.eslintrc.json
|
63
|
+
.rubocop.yml
|
64
|
+
.scss-lint.yml
|
65
|
+
```
|
66
|
+
|
67
|
+
Also, you can pass a linter's name to update rules for a specific language.
|
68
|
+
|
69
|
+
For example:
|
70
|
+
|
71
|
+
Running...
|
72
|
+
|
73
|
+
```
|
74
|
+
$ hound rules update ruby
|
75
|
+
```
|
76
|
+
|
77
|
+
You will get an updated `.rubocop.yml` file in your `$HOME` path.
|
78
|
+
|
79
|
+
## Contributing
|
80
|
+
|
81
|
+
1. Fork it
|
82
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
83
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
84
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
85
|
+
5. Create new Pull Request
|
86
|
+
|
87
|
+
## Credits
|
88
|
+
|
89
|
+
Thank you [contributors](https://github.com/platanus/hound-cli/graphs/contributors)!
|
90
|
+
|
91
|
+
<img src="http://platan.us/gravatar_with_text.png" alt="Platanus" width="250"/>
|
92
|
+
|
93
|
+
Paperclip Attributes is maintained by [platanus](http://platan.us).
|
94
|
+
|
95
|
+
## License
|
96
|
+
|
97
|
+
Hound CLI is © 2016 platanus, spa. It is free software and may be redistributed under the terms specified in the LICENSE file.
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "hound"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
data/exe/hound
ADDED
data/hound.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'hound/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "hound-cli"
|
8
|
+
spec.version = Hound::VERSION
|
9
|
+
spec.authors = ["Platanus"]
|
10
|
+
spec.email = ["rubygems@platan.us"]
|
11
|
+
|
12
|
+
spec.summary = "Ruby CLI to generate style rules"
|
13
|
+
spec.description = "Ruby CLI to generate style rules for several linters"
|
14
|
+
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
16
|
+
spec.bindir = "exe"
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
|
+
spec.require_paths = ["lib"]
|
19
|
+
|
20
|
+
spec.add_dependency "colorize", "~> 0.7", ">= 0.7.7"
|
21
|
+
spec.add_dependency "activesupport", "~> 4.2", ">= 4.2.6"
|
22
|
+
spec.add_dependency "rest-client", "~> 1.8", ">= 1.8.0"
|
23
|
+
spec.add_dependency "commander", "~> 4.4", ">= 4.4.0"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.12"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "rspec", "~> 3.4"
|
28
|
+
spec.add_development_dependency "pry"
|
29
|
+
end
|
data/lib/hound/cli.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
module Hound
|
2
|
+
class Cli
|
3
|
+
include Commander::Methods
|
4
|
+
|
5
|
+
def run
|
6
|
+
program :name, "Hound"
|
7
|
+
program :version, Hound::VERSION
|
8
|
+
program :description, "CLI to generate style rules"
|
9
|
+
define_update_cmds
|
10
|
+
run!
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def define_update_cmds
|
16
|
+
command("rules update") do |c|
|
17
|
+
c.syntax = "hound rules updates"
|
18
|
+
c.description = "Update rules for enabled linters"
|
19
|
+
c.action { RulesUpdater.update }
|
20
|
+
end
|
21
|
+
|
22
|
+
ConfigCollection::LINTER_NAMES.each do |linter|
|
23
|
+
define_update_linter_cmd(linter)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def define_update_linter_cmd(linter)
|
28
|
+
command("rules update #{linter}") do |c|
|
29
|
+
c.syntax = "hound rules update #{linter}"
|
30
|
+
c.description = "Update rules for #{linter} linter"
|
31
|
+
c.action { RulesUpdater.update(linter) }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Hound
|
2
|
+
module Config
|
3
|
+
class Base
|
4
|
+
attr_reader :linters_file_name
|
5
|
+
|
6
|
+
def name
|
7
|
+
name_from_class
|
8
|
+
end
|
9
|
+
|
10
|
+
def linters_file_path
|
11
|
+
File.join(File.expand_path("~"), linters_file_name)
|
12
|
+
end
|
13
|
+
|
14
|
+
def rules_url
|
15
|
+
HoundConfig.rules_url_for(name)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def name_from_class
|
21
|
+
self.class.name.demodulize.underscore
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Hound
|
2
|
+
class ConfigCollection
|
3
|
+
LINTER_NAMES = %w{ruby eslint tslint scss}
|
4
|
+
|
5
|
+
def self.config_instances(linter_names = [])
|
6
|
+
linter_names = LINTER_NAMES if linter_names.empty?
|
7
|
+
linter_names.map do |linter|
|
8
|
+
ensure_valid_linter(linter)
|
9
|
+
"Hound::Config::#{linter.classify}".constantize.new
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class << self
|
14
|
+
private
|
15
|
+
|
16
|
+
def ensure_valid_linter(linter)
|
17
|
+
if !LINTER_NAMES.include?(linter)
|
18
|
+
raise Hound::Error::InvalidLang.new("Invalid #{linter} linter")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/hound/errors.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
class HoundConfig
|
2
|
+
CONFIG_FILE_REPOSITORY = "https://raw.githubusercontent.com/platanus/la-guia/master/"
|
3
|
+
|
4
|
+
def self.content
|
5
|
+
@@content ||= load_content
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.enabled_for?(linter_name)
|
9
|
+
# disabled if linter_name key does not exist in hound.yml
|
10
|
+
return false unless content.has_key?(linter_name)
|
11
|
+
options = options_for(linter_name)
|
12
|
+
# enabled if linter_name key exists and enabled key is not defined.
|
13
|
+
return true unless options.keys.select { |k| k.downcase === "enabled" }.any?
|
14
|
+
# enabled "enabled" or "Enabled" keys are true.
|
15
|
+
!!options["enabled"] || !!options["Enabled"]
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.options_for(linter_name)
|
19
|
+
return content[linter_name] if content.try(:has_key?, linter_name)
|
20
|
+
Hash.new
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.rules_url_for(linter_name)
|
24
|
+
path_in_repo = options_for(linter_name)["config_file"].to_s
|
25
|
+
HoundConfig::CONFIG_FILE_REPOSITORY + path_in_repo
|
26
|
+
end
|
27
|
+
|
28
|
+
class << self
|
29
|
+
private
|
30
|
+
|
31
|
+
def config_file_url
|
32
|
+
CONFIG_FILE_REPOSITORY + ".hound.yml"
|
33
|
+
end
|
34
|
+
|
35
|
+
def load_content
|
36
|
+
Hound::Parser.yaml(RestClient.get(config_file_url))
|
37
|
+
rescue RestClient::ResourceNotFound
|
38
|
+
inform_config_not_found(config_file_url)
|
39
|
+
Hash.new
|
40
|
+
end
|
41
|
+
|
42
|
+
def inform_config_not_found(url)
|
43
|
+
puts "config file not found in #{url}".red
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/hound/parser.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
module Hound
|
2
|
+
class RulesUpdater
|
3
|
+
def self.update(*linter_names)
|
4
|
+
ConfigCollection.config_instances(linter_names).each do |linter_config|
|
5
|
+
get_rules(linter_config)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class << self
|
10
|
+
private
|
11
|
+
|
12
|
+
def get_rules(linter_config)
|
13
|
+
if !HoundConfig.enabled_for?(linter_config.name)
|
14
|
+
inform_disabled(linter_config)
|
15
|
+
return
|
16
|
+
end
|
17
|
+
|
18
|
+
rules = get_rules_from_url(linter_config)
|
19
|
+
return unless rules
|
20
|
+
write_linters_file(linter_config, rules)
|
21
|
+
inform_update(linter_config)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_rules_from_url(linter_config)
|
25
|
+
RestClient.get(linter_config.rules_url)
|
26
|
+
rescue RestClient::ResourceNotFound
|
27
|
+
inform_rules_not_found(linter_config)
|
28
|
+
end
|
29
|
+
|
30
|
+
def write_linters_file(linter_config, rules)
|
31
|
+
File.write(linter_config.linters_file_path, rules)
|
32
|
+
end
|
33
|
+
|
34
|
+
def inform_update(linter_config)
|
35
|
+
puts "#{linter_config.linters_file_name} (#{linter_config.name} style) was updated".green
|
36
|
+
end
|
37
|
+
|
38
|
+
def inform_disabled(linter_config)
|
39
|
+
puts "#{linter_config.linters_file_name} (#{linter_config.name} style) wasn't updated \
|
40
|
+
because the style was undefined or disabled in .hound.yml file".yellow
|
41
|
+
end
|
42
|
+
|
43
|
+
def inform_rules_not_found(linter_config)
|
44
|
+
puts "rules for #{linter_config.name} not found in #{linter_config.rules_url}".red
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/hound.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "colorize"
|
2
|
+
require "rest-client"
|
3
|
+
require "active_support/all"
|
4
|
+
require "yaml"
|
5
|
+
|
6
|
+
require "hound/version"
|
7
|
+
require "hound/errors"
|
8
|
+
require "hound/parser"
|
9
|
+
require "hound/hound_config"
|
10
|
+
require "hound/rules_updater"
|
11
|
+
require "hound/config_collection"
|
12
|
+
require "hound/config/base"
|
13
|
+
require "hound/config/ruby"
|
14
|
+
require "hound/config/eslint"
|
15
|
+
require "hound/config/tslint"
|
16
|
+
require "hound/config/scss"
|
17
|
+
|
18
|
+
module Hound
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,205 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hound-cli
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Platanus
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-07-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: colorize
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.7'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.7.7
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.7'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.7.7
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: activesupport
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '4.2'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 4.2.6
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '4.2'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 4.2.6
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: rest-client
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.8'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.8.0
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.8'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.8.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: commander
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '4.4'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 4.4.0
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.4'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 4.4.0
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: bundler
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '1.12'
|
100
|
+
type: :development
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '1.12'
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: rake
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '10.0'
|
114
|
+
type: :development
|
115
|
+
prerelease: false
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '10.0'
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
name: rspec
|
123
|
+
requirement: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '3.4'
|
128
|
+
type: :development
|
129
|
+
prerelease: false
|
130
|
+
version_requirements: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - "~>"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '3.4'
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: pry
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
type: :development
|
143
|
+
prerelease: false
|
144
|
+
version_requirements: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
description: Ruby CLI to generate style rules for several linters
|
150
|
+
email:
|
151
|
+
- rubygems@platan.us
|
152
|
+
executables:
|
153
|
+
- hound
|
154
|
+
extensions: []
|
155
|
+
extra_rdoc_files: []
|
156
|
+
files:
|
157
|
+
- ".gitignore"
|
158
|
+
- ".rspec"
|
159
|
+
- ".ruby-version"
|
160
|
+
- ".travis.yml"
|
161
|
+
- Gemfile
|
162
|
+
- LICENSE.txt
|
163
|
+
- README.md
|
164
|
+
- Rakefile
|
165
|
+
- bin/console
|
166
|
+
- bin/setup
|
167
|
+
- exe/hound
|
168
|
+
- hound.gemspec
|
169
|
+
- lib/hound.rb
|
170
|
+
- lib/hound/cli.rb
|
171
|
+
- lib/hound/config/base.rb
|
172
|
+
- lib/hound/config/eslint.rb
|
173
|
+
- lib/hound/config/ruby.rb
|
174
|
+
- lib/hound/config/scss.rb
|
175
|
+
- lib/hound/config/tslint.rb
|
176
|
+
- lib/hound/config_collection.rb
|
177
|
+
- lib/hound/errors.rb
|
178
|
+
- lib/hound/hound_config.rb
|
179
|
+
- lib/hound/parser.rb
|
180
|
+
- lib/hound/rules_updater.rb
|
181
|
+
- lib/hound/version.rb
|
182
|
+
homepage:
|
183
|
+
licenses: []
|
184
|
+
metadata: {}
|
185
|
+
post_install_message:
|
186
|
+
rdoc_options: []
|
187
|
+
require_paths:
|
188
|
+
- lib
|
189
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '0'
|
194
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
requirements: []
|
200
|
+
rubyforge_project:
|
201
|
+
rubygems_version: 2.5.1
|
202
|
+
signing_key:
|
203
|
+
specification_version: 4
|
204
|
+
summary: Ruby CLI to generate style rules
|
205
|
+
test_files: []
|