mudguard 0.1.0 → 0.1.1
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
- data/.rubocop.yml +6 -0
- data/Gemfile.lock +53 -5
- data/Guardfile +14 -0
- data/bin/_guard-core +29 -0
- data/bin/guard +29 -0
- data/lib/mudguard/error.rb +6 -0
- data/lib/mudguard/policies.rb +23 -0
- data/lib/mudguard/policy_file.rb +16 -0
- data/lib/mudguard/ruby_analyser.rb +74 -0
- data/lib/mudguard/ruby_files.rb +17 -0
- data/lib/mudguard/version.rb +1 -1
- data/lib/mudguard.rb +13 -2
- data/mudguard.gemspec +11 -4
- data/pkg/mudguard-0.1.0.gem +0 -0
- metadata +104 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 704ed528bcdd940b57ef601a5841eb5585ba5a32b2ef2ae9c184e8f544daba00
|
4
|
+
data.tar.gz: 18603a36e5cc7e95569d3c184df7ec9955ec6d11f1cb299ad9790b20d09f4b88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f136a1d09aa59ffc8f71a842cfef6b513ac1c381d4fe09d7a0660921008b7780f5e595782d343c27f6899d9edd6fe3af6729a3b12bc15aff183129455aa1a36e
|
7
|
+
data.tar.gz: 51bc6a0961d73cfad36c32d359c34a22eb0faaf31bf38ca67cbba7c626f6995a25267c3004776744dcacd7b15779e9c1b0778e0ac7c5633ef40ff9c045a1a04c
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
AllCops:
|
2
2
|
Exclude:
|
3
3
|
- 'bin/*'
|
4
|
+
- 'spec/lib/test_projects/**/*.rb'
|
4
5
|
|
5
6
|
Style/StringLiterals:
|
6
7
|
EnforcedStyle: double_quotes
|
@@ -9,6 +10,7 @@ Metrics/BlockLength:
|
|
9
10
|
Exclude:
|
10
11
|
- 'spec/**/*.rb'
|
11
12
|
- 'lib/tasks/**/*.rake'
|
13
|
+
- 'mudguard.gemspec'
|
12
14
|
|
13
15
|
Style/Documentation:
|
14
16
|
Exclude:
|
@@ -22,3 +24,7 @@ Style/HashTransformKeys:
|
|
22
24
|
|
23
25
|
Style/HashTransformValues:
|
24
26
|
Enabled: true
|
27
|
+
|
28
|
+
Layout/LineLength:
|
29
|
+
Description: 'Limit lines to 100 characters.'
|
30
|
+
Max: 100
|
data/Gemfile.lock
CHANGED
@@ -1,19 +1,59 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mudguard (0.1.
|
4
|
+
mudguard (0.1.1)
|
5
|
+
parser (~> 2.7)
|
5
6
|
|
6
7
|
GEM
|
7
8
|
remote: https://rubygems.org/
|
8
9
|
specs:
|
9
10
|
ast (2.4.0)
|
11
|
+
byebug (11.0.1)
|
12
|
+
coderay (1.1.2)
|
10
13
|
diff-lcs (1.3)
|
14
|
+
ffi (1.12.2)
|
15
|
+
formatador (0.2.5)
|
16
|
+
guard (2.16.1)
|
17
|
+
formatador (>= 0.2.4)
|
18
|
+
listen (>= 2.7, < 4.0)
|
19
|
+
lumberjack (>= 1.0.12, < 2.0)
|
20
|
+
nenv (~> 0.1)
|
21
|
+
notiffany (~> 0.0)
|
22
|
+
pry (>= 0.9.12)
|
23
|
+
shellany (~> 0.0)
|
24
|
+
thor (>= 0.18.1)
|
25
|
+
guard-compat (1.2.1)
|
26
|
+
guard-rspec (4.7.3)
|
27
|
+
guard (~> 2.1)
|
28
|
+
guard-compat (~> 1.1)
|
29
|
+
rspec (>= 2.99.0, < 4.0)
|
11
30
|
jaro_winkler (1.5.4)
|
31
|
+
listen (3.2.1)
|
32
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
33
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
34
|
+
lumberjack (1.2.4)
|
35
|
+
method_source (0.9.2)
|
36
|
+
nenv (0.3.0)
|
37
|
+
notiffany (0.1.3)
|
38
|
+
nenv (~> 0.1)
|
39
|
+
shellany (~> 0.0)
|
12
40
|
parallel (1.19.1)
|
13
41
|
parser (2.7.0.4)
|
14
42
|
ast (~> 2.4.0)
|
43
|
+
pry (0.12.2)
|
44
|
+
coderay (~> 1.1.0)
|
45
|
+
method_source (~> 0.9.0)
|
46
|
+
pry-byebug (3.7.0)
|
47
|
+
byebug (~> 11.0)
|
48
|
+
pry (~> 0.10)
|
49
|
+
pry-doc (1.0.0)
|
50
|
+
pry (~> 0.11)
|
51
|
+
yard (~> 0.9.11)
|
15
52
|
rainbow (3.0.0)
|
16
|
-
rake (
|
53
|
+
rake (13.0.1)
|
54
|
+
rb-fsevent (0.10.3)
|
55
|
+
rb-inotify (0.10.1)
|
56
|
+
ffi (~> 1.0)
|
17
57
|
rexml (3.2.4)
|
18
58
|
rspec (3.9.0)
|
19
59
|
rspec-core (~> 3.9.0)
|
@@ -37,17 +77,25 @@ GEM
|
|
37
77
|
ruby-progressbar (~> 1.7)
|
38
78
|
unicode-display_width (>= 1.4.0, < 1.7)
|
39
79
|
ruby-progressbar (1.10.1)
|
80
|
+
shellany (0.0.1)
|
81
|
+
thor (1.0.1)
|
40
82
|
unicode-display_width (1.6.1)
|
83
|
+
yard (0.9.24)
|
41
84
|
|
42
85
|
PLATFORMS
|
43
86
|
ruby
|
44
87
|
|
45
88
|
DEPENDENCIES
|
46
89
|
bundler (~> 2.0)
|
90
|
+
guard (~> 2.1)
|
91
|
+
guard-rspec (~> 4.7)
|
47
92
|
mudguard!
|
48
|
-
|
49
|
-
|
50
|
-
|
93
|
+
pry (~> 0.12)
|
94
|
+
pry-byebug (~> 3.7)
|
95
|
+
pry-doc (~> 1.0)
|
96
|
+
rake (~> 13.0)
|
97
|
+
rspec (~> 3.9)
|
98
|
+
rubocop (~> 0.80)
|
51
99
|
|
52
100
|
BUNDLED WITH
|
53
101
|
2.1.4
|
data/Guardfile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
rspec_options = {
|
4
|
+
cmd: "rspec",
|
5
|
+
notification: false,
|
6
|
+
failed_mode: :focus
|
7
|
+
}
|
8
|
+
|
9
|
+
guard "rspec", rspec_options do
|
10
|
+
watch(%r{^spec/.+_spec\.rb$})
|
11
|
+
watch(%r{^lib/mudguard/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
12
|
+
watch(%r{^lib/mudguard/(.+)\.rb$}) { |m| Dir.glob("spec/lib/#{m[1]}_*.rb") }
|
13
|
+
watch("spec/spec_helper.rb") { "spec" }
|
14
|
+
end
|
data/bin/_guard-core
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application '_guard-core' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("guard", "_guard-core")
|
data/bin/guard
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'guard' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("guard", "guard")
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "ruby_analyser"
|
4
|
+
|
5
|
+
module Mudguard
|
6
|
+
# Contains the policies to be enforced
|
7
|
+
class Policies
|
8
|
+
def initialize(policies: [])
|
9
|
+
@policies = policies.map { |l| l.gsub(/\s/, "") }.map { |p| /^#{p}/ }
|
10
|
+
end
|
11
|
+
|
12
|
+
def check(sources)
|
13
|
+
sources.all? do |source|
|
14
|
+
dependencies = RubyAnalyser.find_mod_dependencies(source)
|
15
|
+
dependencies.all? do |d|
|
16
|
+
@policies.any? do |p|
|
17
|
+
d.match?(p)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "policies"
|
4
|
+
|
5
|
+
module Mudguard
|
6
|
+
# A file containing the Mudguard-Policies
|
7
|
+
class PolicyFile
|
8
|
+
def self.read(policy_file)
|
9
|
+
policy_exists = File.exist?(policy_file)
|
10
|
+
|
11
|
+
raise Error, "expected policy file #{policy_file} doesn't exists" unless policy_exists
|
12
|
+
|
13
|
+
Policies.new(policies: File.readlines(policy_file))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "parser/current"
|
4
|
+
|
5
|
+
module Mudguard
|
6
|
+
# Analyses Ruby-Source and returns extracted information
|
7
|
+
class RubyAnalyser
|
8
|
+
class << self
|
9
|
+
def find_mod_dependencies(source)
|
10
|
+
begin
|
11
|
+
root = Parser::CurrentRuby.parse(source)
|
12
|
+
rescue Parser::SyntaxError
|
13
|
+
return []
|
14
|
+
end
|
15
|
+
return [] if root.nil?
|
16
|
+
|
17
|
+
process(root)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def process(node, module_name = "")
|
23
|
+
case node
|
24
|
+
when type?(:module)
|
25
|
+
process_module(node.children)
|
26
|
+
when type?(:class)
|
27
|
+
process_class(node.children, module_name)
|
28
|
+
when type?(:const)
|
29
|
+
["#{module_name}->#{find_const_name(node.children)}"]
|
30
|
+
else
|
31
|
+
ignore_and_continue(node, module_name)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def ignore_and_continue(node, module_name)
|
36
|
+
case node
|
37
|
+
when children?
|
38
|
+
node.children.flat_map { |c| process(c, module_name) }
|
39
|
+
else
|
40
|
+
[]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def process_module(children)
|
45
|
+
module_name = find_const_name(children[0].children)
|
46
|
+
process(children[1], module_name)
|
47
|
+
end
|
48
|
+
|
49
|
+
def process_class(children, module_name)
|
50
|
+
process(children[1], module_name)
|
51
|
+
end
|
52
|
+
|
53
|
+
def find_const_name(children)
|
54
|
+
return nil if children.nil?
|
55
|
+
|
56
|
+
module_name = find_const_name(children[0]&.children)
|
57
|
+
const_name = children[1].to_s
|
58
|
+
if module_name.nil?
|
59
|
+
const_name
|
60
|
+
else
|
61
|
+
"#{module_name}::#{const_name}"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def children?
|
66
|
+
->(n) { n.respond_to?(:children) }
|
67
|
+
end
|
68
|
+
|
69
|
+
def type?(type)
|
70
|
+
->(n) { n.respond_to?(:type) && n.type == type }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mudguard
|
4
|
+
# Provides access to all ruby-files of a project
|
5
|
+
class RubyFiles
|
6
|
+
class << self
|
7
|
+
def all(project_path)
|
8
|
+
project_exists = Dir.exist?(project_path)
|
9
|
+
|
10
|
+
raise Error, "expected project #{project_path} doesn't exists" unless project_exists
|
11
|
+
|
12
|
+
ruby_files = File.join(project_path, "**", "*.rb")
|
13
|
+
Dir.glob(ruby_files).lazy
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/mudguard/version.rb
CHANGED
data/lib/mudguard.rb
CHANGED
@@ -1,8 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "mudguard/version"
|
4
|
+
require_relative "mudguard/policy_file"
|
5
|
+
require_relative "mudguard/ruby_files"
|
4
6
|
|
7
|
+
# Contains methods to check if your project is a bit muddy
|
5
8
|
module Mudguard
|
6
|
-
class
|
7
|
-
|
9
|
+
class << self
|
10
|
+
def check(project_path)
|
11
|
+
policy_file_path = File.expand_path("MudguardFile", project_path)
|
12
|
+
policies = PolicyFile.read(policy_file_path)
|
13
|
+
|
14
|
+
files = RubyFiles.all(project_path).map { |f| File.read(f) }
|
15
|
+
|
16
|
+
policies.check(files)
|
17
|
+
end
|
18
|
+
end
|
8
19
|
end
|
data/mudguard.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.authors = ["Jorg Jenni"]
|
11
11
|
spec.email = ["jorg.jenni@jennius.co.uk"]
|
12
12
|
|
13
|
-
spec.summary = "mudguard helps
|
13
|
+
spec.summary = "mudguard helps your ruby project not becoming a "\
|
14
14
|
"'Big ball of mud'"
|
15
15
|
spec.homepage = "https://gibhub.com/Enceradeira/mudguard"
|
16
16
|
spec.license = "MIT"
|
@@ -30,7 +30,14 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.require_paths = ["lib"]
|
31
31
|
|
32
32
|
spec.add_development_dependency "bundler", "~> 2.0"
|
33
|
-
spec.add_development_dependency "
|
34
|
-
spec.add_development_dependency "rspec", "~>
|
35
|
-
spec.add_development_dependency "
|
33
|
+
spec.add_development_dependency "guard", "~> 2.1"
|
34
|
+
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
35
|
+
spec.add_development_dependency "pry", "~>0.12"
|
36
|
+
spec.add_development_dependency "pry-byebug", "~>3.7"
|
37
|
+
spec.add_development_dependency "pry-doc", "~>1.0"
|
38
|
+
spec.add_development_dependency "rake", "~>13.0"
|
39
|
+
spec.add_development_dependency "rspec", "~> 3.9"
|
40
|
+
spec.add_development_dependency "rubocop", "~>0.80"
|
41
|
+
|
42
|
+
spec.add_dependency "parser", "~>2.7"
|
36
43
|
end
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mudguard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jorg Jenni
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,48 +24,132 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: guard
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: guard-rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.12'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.12'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry-byebug
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.7'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.7'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-doc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
27
97
|
- !ruby/object:Gem::Dependency
|
28
98
|
name: rake
|
29
99
|
requirement: !ruby/object:Gem::Requirement
|
30
100
|
requirements:
|
31
101
|
- - "~>"
|
32
102
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
103
|
+
version: '13.0'
|
34
104
|
type: :development
|
35
105
|
prerelease: false
|
36
106
|
version_requirements: !ruby/object:Gem::Requirement
|
37
107
|
requirements:
|
38
108
|
- - "~>"
|
39
109
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
110
|
+
version: '13.0'
|
41
111
|
- !ruby/object:Gem::Dependency
|
42
112
|
name: rspec
|
43
113
|
requirement: !ruby/object:Gem::Requirement
|
44
114
|
requirements:
|
45
115
|
- - "~>"
|
46
116
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
117
|
+
version: '3.9'
|
48
118
|
type: :development
|
49
119
|
prerelease: false
|
50
120
|
version_requirements: !ruby/object:Gem::Requirement
|
51
121
|
requirements:
|
52
122
|
- - "~>"
|
53
123
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
124
|
+
version: '3.9'
|
55
125
|
- !ruby/object:Gem::Dependency
|
56
126
|
name: rubocop
|
57
127
|
requirement: !ruby/object:Gem::Requirement
|
58
128
|
requirements:
|
59
|
-
- - "
|
129
|
+
- - "~>"
|
60
130
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
131
|
+
version: '0.80'
|
62
132
|
type: :development
|
63
133
|
prerelease: false
|
64
134
|
version_requirements: !ruby/object:Gem::Requirement
|
65
135
|
requirements:
|
66
|
-
- - "
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0.80'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: parser
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '2.7'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
67
151
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
152
|
+
version: '2.7'
|
69
153
|
description:
|
70
154
|
email:
|
71
155
|
- jorg.jenni@jennius.co.uk
|
@@ -80,18 +164,27 @@ files:
|
|
80
164
|
- CODE_OF_CONDUCT.md
|
81
165
|
- Gemfile
|
82
166
|
- Gemfile.lock
|
167
|
+
- Guardfile
|
83
168
|
- LICENSE.txt
|
84
169
|
- README.md
|
85
170
|
- Rakefile
|
171
|
+
- bin/_guard-core
|
86
172
|
- bin/console
|
173
|
+
- bin/guard
|
87
174
|
- bin/rake
|
88
175
|
- bin/rubocop
|
89
176
|
- bin/setup
|
90
177
|
- lib/mudguard.rb
|
178
|
+
- lib/mudguard/error.rb
|
179
|
+
- lib/mudguard/policies.rb
|
180
|
+
- lib/mudguard/policy_file.rb
|
181
|
+
- lib/mudguard/ruby_analyser.rb
|
182
|
+
- lib/mudguard/ruby_files.rb
|
91
183
|
- lib/mudguard/version.rb
|
92
184
|
- lib/tasks/rubocop.rake
|
93
185
|
- lib/tasks/test.rake
|
94
186
|
- mudguard.gemspec
|
187
|
+
- pkg/mudguard-0.1.0.gem
|
95
188
|
homepage: https://gibhub.com/Enceradeira/mudguard
|
96
189
|
licenses:
|
97
190
|
- MIT
|
@@ -117,5 +210,5 @@ rubyforge_project:
|
|
117
210
|
rubygems_version: 2.7.6
|
118
211
|
signing_key:
|
119
212
|
specification_version: 4
|
120
|
-
summary: mudguard helps
|
213
|
+
summary: mudguard helps your ruby project not becoming a 'Big ball of mud'
|
121
214
|
test_files: []
|