guideline 0.1.3 → 0.2.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.
data/README.md CHANGED
@@ -20,15 +20,22 @@ $ gem install guideline
20
20
  ## Usage
21
21
  ```
22
22
  $ guideline --help
23
- Usage: guideline [directory] [options]
24
- -c, --config Path to config YAML file.
25
- -i, --init Generate config YAML template into current directory.
26
- -v, --version Show version number.
27
- -h, --help Display this help message.
23
+ Usage: guideline [options]
24
+ --no-abc-complexity (default: true) check method ABC complexity
25
+ --no-hard-tab-indent (default: true) check hard tab indent
26
+ --no-hash-comma (default: true) check last comma in Hash literal
27
+ --no-long-line (default: true) check line length
28
+ --no-long-method (default: true) check method height
29
+ --no-trailing-whitespace (default: true) check trailing whitespace
30
+ --no-unused-method (default: true) check unused method
31
+ --abc-complexity= (default: 15) threshold of ABC complexity
32
+ --long-line= (default: 80) threshold of long line
33
+ --long-method= (default: 10) threshold of long method
34
+ --path= (default: ./) checked file or dir or glob pattern
28
35
  ```
29
36
 
30
37
  ```
31
- $ guideline ./chatroid
38
+ $ guideline --path /path/to/chatroid
32
39
 
33
40
  lib/chatroid/adapter/campfire.rb
34
41
  26: Line length 85 should be less than 80 characters
@@ -47,7 +54,7 @@ lib/chatroid/adapter/twitter.rb
47
54
  ```
48
55
 
49
56
  ```
50
- $ guideline ./guideline
57
+ $ guideline --path /path/to/guideline
51
58
 
52
59
  lib/guideline/checkers/abc_complexity_checker.rb
53
60
  40: ABC Complexity of method<Guideline::AbcComplexityChecker::Moduleable.included> 16 should be less than 10
data/bin/guideline CHANGED
@@ -2,22 +2,5 @@
2
2
 
3
3
  $LOAD_PATH.unshift File.expand_path("../../lib/", __FILE__)
4
4
  require "guideline"
5
- include Guideline
6
5
 
7
- options = Runner.parse(ARGV)
8
-
9
- checkers = CheckerFactory.new(
10
- options[:config],
11
- AbcComplexityChecker,
12
- HardTabIndentChecker,
13
- HashCommaChecker,
14
- LongLineChecker,
15
- LongMethodChecker,
16
- TrailingWhitespaceChecker,
17
- UnusedMethodChecker,
18
- ).create
19
-
20
- visitor = Visitor.new(:only => ARGV[0], :checker => checkers)
21
- visitor.prepare
22
- visitor.visit
23
- visitor.render
6
+ Guideline::Runner.run
data/guideline.gemspec CHANGED
@@ -18,9 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_dependency "slop"
22
21
  gem.add_dependency "code_analyzer"
23
- gem.add_dependency "activesupport"
24
22
  gem.add_development_dependency "rspec", ">=2.12.0"
25
23
  gem.add_development_dependency "pry"
26
24
  gem.add_development_dependency "simplecov"
data/lib/guideline.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "guideline/version"
2
+ require "guideline/path_finder"
2
3
  require "guideline/visitor"
3
4
  require "guideline/error"
5
+ require "guideline/option_parser"
4
6
  require "guideline/runner"
5
7
  require "guideline/parser/moduleable"
6
8
  require "guideline/checker_factory"
@@ -2,6 +2,8 @@ require "code_analyzer"
2
2
 
3
3
  module Guideline
4
4
  class AbcComplexityChecker < Checker
5
+ DEFAULT_MAX = 15
6
+
5
7
  def check(path)
6
8
  @current_path = path
7
9
  visitor.check(path.to_s, path.read)
@@ -12,22 +14,18 @@ module Guideline
12
14
 
13
15
  def checker
14
16
  AbcParser.new do |complexity, method, module_name, class_method_flag|
15
- begin
16
- if complexity > max
17
- report(
18
- :path => @current_path,
19
- :line => method.line,
20
- :message => "ABC Complexity of method<%s%s%s>%3d should be less than %d" % [
21
- module_name,
22
- class_method_flag ? "." : "#",
23
- method.method_name,
24
- complexity,
25
- max,
26
- ]
27
- )
28
- end
29
- rescue Exception
30
- require "pry"; binding.pry
17
+ if complexity > max
18
+ report(
19
+ :path => @current_path,
20
+ :line => method.line,
21
+ :message => "ABC Complexity of method<%s%s%s>%3d should be less than %d" % [
22
+ module_name,
23
+ class_method_flag ? "." : "#",
24
+ method.method_name,
25
+ complexity,
26
+ max,
27
+ ]
28
+ )
31
29
  end
32
30
  end
33
31
  end
@@ -37,7 +35,7 @@ module Guideline
37
35
  end
38
36
 
39
37
  def max
40
- @options[:max]
38
+ (@options[:max] || DEFAULT_MAX).to_i
41
39
  end
42
40
 
43
41
  class AbcParser < CodeAnalyzer::Checker
@@ -1,5 +1,7 @@
1
1
  module Guideline
2
2
  class LongLineChecker < Checker
3
+ DEFAULT_MAX = 80
4
+
3
5
  def check(path)
4
6
  lines(path).select(&:has_error?).each do |line|
5
7
  report(
@@ -19,7 +21,7 @@ module Guideline
19
21
  end
20
22
 
21
23
  def max
22
- @options[:max]
24
+ (@options[:max] || DEFAULT_MAX).to_i
23
25
  end
24
26
 
25
27
  class LineChecker
@@ -3,6 +3,8 @@ require "ostruct"
3
3
 
4
4
  module Guideline
5
5
  class LongMethodChecker < Checker
6
+ DEFAULT_MAX = 10
7
+
6
8
  def check(path)
7
9
  MethodParser.parse(path.read) do |method|
8
10
  if method.height > max
@@ -18,7 +20,7 @@ module Guideline
18
20
  private
19
21
 
20
22
  def max
21
- @options[:max] || 50
23
+ (@options[:max] || DEFAULT_MAX).to_i
22
24
  end
23
25
 
24
26
  class Method < OpenStruct
@@ -0,0 +1,89 @@
1
+ require "optparse"
2
+
3
+ module Guideline
4
+ class OptionParser < ::OptionParser
5
+ OPTIONS = [
6
+ "--no-abc-complexity", "(default: true) check method ABC complexity",
7
+ "--no-hard-tab-indent", "(default: true) check hard tab indent",
8
+ "--no-hash-comma", "(default: true) check last comma in Hash literal",
9
+ "--no-long-line", "(default: true) check line length",
10
+ "--no-long-method", "(default: true) check method height",
11
+ "--no-trailing-whitespace", "(default: true) check trailing whitespace",
12
+ "--no-unused-method", "(default: true) check unused method",
13
+ "--abc-complexity=", "(default: 15) threshold of ABC complexity",
14
+ "--long-line=", "(default: 80) threshold of long line",
15
+ "--long-method=", "(default: 10) threshold of long method",
16
+ "--path=", "(default: ./) checked file or dir or glob pattern",
17
+ ]
18
+
19
+ def self.parse(argv = ARGV)
20
+ new.parse(argv)
21
+ end
22
+
23
+ def initialize(*)
24
+ super
25
+ configure_checker_options
26
+ end
27
+
28
+ def parse(*)
29
+ super
30
+ options
31
+ end
32
+
33
+ def options
34
+ @options ||= {}
35
+ end
36
+
37
+ private
38
+
39
+ def configure_checker_options
40
+ arguments.each do |argument|
41
+ on(argument.key, argument.description) do |value|
42
+ options[argument.to_sym] = value
43
+ end
44
+ end
45
+ end
46
+
47
+ def arguments
48
+ OPTIONS.each_slice(2).map do |key, description|
49
+ Argument.new(key, description)
50
+ end
51
+ end
52
+
53
+ class Argument
54
+ attr_reader :key, :description
55
+
56
+ def initialize(key, description)
57
+ @key = key
58
+ @description = description
59
+ end
60
+
61
+ def to_sym
62
+ str = @key
63
+ str = without_head_hyphen(str)
64
+ str = without_head_no(str)
65
+ str = without_last_equal(str)
66
+ str = underscored(str)
67
+ str.to_sym
68
+ end
69
+
70
+ private
71
+
72
+ def underscored(str)
73
+ str.gsub("-", "_")
74
+ end
75
+
76
+ def without_head_hyphen(str)
77
+ str.gsub(/^--/, "")
78
+ end
79
+
80
+ def without_head_no(str)
81
+ str.gsub(/^no-/, "")
82
+ end
83
+
84
+ def without_last_equal(str)
85
+ str.gsub(/=$/, "")
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,54 @@
1
+ require "pathname"
2
+
3
+ module Guideline
4
+ class PathFinder
5
+ def self.find(pattern)
6
+ new(pattern).paths
7
+ end
8
+
9
+ def initialize(pattern)
10
+ @pattern = pattern
11
+ end
12
+
13
+ def paths
14
+ Pathname.glob(recognized_pattern)
15
+ end
16
+
17
+ private
18
+
19
+ def pattern
20
+ @pattern
21
+ end
22
+
23
+ def path
24
+ @path ||= Pathname.new(pattern)
25
+ end
26
+
27
+ def recognized_pattern
28
+ case
29
+ when pattern_not_given?
30
+ default_glob
31
+ when directory?
32
+ default_glob_with_directory
33
+ else
34
+ pattern
35
+ end
36
+ end
37
+
38
+ def pattern_not_given?
39
+ pattern.nil?
40
+ end
41
+
42
+ def directory?
43
+ path.directory?
44
+ end
45
+
46
+ def default_glob
47
+ "**/*.rb"
48
+ end
49
+
50
+ def default_glob_with_directory
51
+ File.join(path, default_glob)
52
+ end
53
+ end
54
+ end
@@ -1,96 +1,63 @@
1
- require "yaml"
2
- require "fileutils"
3
- require "slop"
4
- require "active_support/core_ext/hash/indifferent_access"
5
-
6
1
  module Guideline
7
2
  class Runner
8
- CONFIG_FILE_NAME = ".guideline.yml"
9
-
10
- def self.parse(*argv)
11
- new(*argv).parse
12
- end
13
-
14
- def initialize(argv)
15
- @hash = Parser.parse(argv).with_indifferent_access
3
+ def self.run
4
+ new.run
16
5
  end
17
6
 
18
- def parse
19
- before_hook
20
- @hash[:config] = load_config
21
- @hash.delete(:help)
22
- @hash
7
+ def run
8
+ visitor.prepare
9
+ visitor.visit
10
+ visitor.render
23
11
  end
24
12
 
25
13
  private
26
14
 
27
- def before_hook
28
- case
29
- when @hash[:init]
30
- generate_default_config_file
31
- when @hash[:version]
32
- show_version
33
- end
15
+ def visitor
16
+ @visitor ||= Visitor.new(options[:path], enable_checkers)
34
17
  end
35
18
 
36
- def show_version
37
- puts VERSION
38
- exit
19
+ def enable_checkers
20
+ array = []
21
+ array << abc_complexity_checker if options[:abc_complexity] != false
22
+ array << hard_tab_indent_checker if options[:hard_tab_indent] != false
23
+ array << hash_comma_checker if options[:hash_comma] != false
24
+ array << long_line_checker if options[:long_line] != false
25
+ array << long_method_checker if options[:long_method] != false
26
+ array << trailing_whitespace_checker if options[:trailing_whitespace] != false
27
+ array << unused_method_checker if options[:unused_method] != false
28
+ array
39
29
  end
40
30
 
41
- def load_config
42
- YAML.load_file(config_path)
43
- rescue Errno::ENOENT
44
- puts "No such config file - #{config_path}"
45
- exit
31
+ def options
32
+ @options ||= OptionParser.parse
46
33
  end
47
34
 
48
- def config_path
49
- @hash[:config] || default_config_path
35
+ def abc_complexity_checker
36
+ AbcComplexityChecker.new(:max => options[:abc_complexity])
50
37
  end
51
38
 
52
- def default_config_path
53
- File.expand_path("../../../#{CONFIG_FILE_NAME}", __FILE__)
39
+ def hard_tab_indent_checker
40
+ HardTabIndentChecker.new
54
41
  end
55
42
 
56
- def generate_default_config_file
57
- if config_file_exist?
58
- puts "./#{CONFIG_FILE_NAME} already exists"
59
- else
60
- FileUtils.copy(default_config_path, "./")
61
- puts "./#{CONFIG_FILE_NAME} was generated"
62
- end
63
- exit
43
+ def hash_comma_checker
44
+ HashCommaChecker.new
64
45
  end
65
46
 
66
- def config_file_exist?
67
- File.exist?(CONFIG_FILE_NAME)
47
+ def long_line_checker
48
+ LongLineChecker.new(:max => options[:long_line])
68
49
  end
69
50
 
70
- class Parser
71
- def self.parse(argv)
72
- new(argv).parse
73
- end
74
-
75
- def initialize(argv)
76
- @argv = argv
77
- end
78
-
79
- def parse
80
- slop.parse(@argv)
81
- slop.to_hash
82
- end
51
+ def long_method_checker
52
+ LongMethodChecker.new(:max => options[:long_method])
53
+ end
83
54
 
84
- private
55
+ def trailing_whitespace_checker
56
+ TrailingWhitespaceChecker.new
57
+ end
85
58
 
86
- def slop
87
- @slop ||= Slop.new(:help => true) do
88
- banner "Usage: guideline [directory] [options]"
89
- on :c=, :config=, "Path to config YAML file."
90
- on :i, :init, "Generate config YAML template into current directory."
91
- on :v, :version, "Show version number."
92
- end
93
- end
59
+ def unused_method_checker
60
+ UnusedMethodChecker.new
94
61
  end
95
62
  end
96
63
  end
@@ -1,3 +1,3 @@
1
1
  module Guideline
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -4,9 +4,9 @@ module Guideline
4
4
  class Visitor
5
5
  attr_reader :options
6
6
 
7
- def initialize(options, &block)
8
- @options = options
9
- @block = block
7
+ def initialize(pattern, checkers)
8
+ @pattern = pattern
9
+ @checkers = checkers
10
10
  end
11
11
 
12
12
  def visit
@@ -36,59 +36,19 @@ module Guideline
36
36
  private
37
37
 
38
38
  def paths
39
- PathFinder.find(options)
39
+ PathFinder.find(pattern)
40
40
  end
41
41
 
42
42
  def checkers
43
- @checkers ||= Array(options[:checker])
43
+ @checkers
44
44
  end
45
45
 
46
- def errors
47
- @errors ||= checkers.select(&:has_error?).map(&:errors).inject([], &:+)
46
+ def pattern
47
+ @pattern
48
48
  end
49
49
 
50
- class PathFinder
51
- attr_reader :options
52
-
53
- def self.find(options = {})
54
- new(options).paths
55
- end
56
-
57
- def initialize(options = {})
58
- @options = options
59
- end
60
-
61
- def paths
62
- (found_paths - excepted_paths).select(&:exist?)
63
- end
64
-
65
- private
66
-
67
- def found_paths
68
- Pathname.glob(only_pattern)
69
- end
70
-
71
- def excepted_paths
72
- if except_pattern
73
- Pathname.glob(except_pattern)
74
- else
75
- []
76
- end
77
- end
78
-
79
- def only_pattern
80
- if options[:only]
81
- File.expand_path(options[:only])
82
- else
83
- File.expand_path("**/*.rb")
84
- end
85
- end
86
-
87
- def except_pattern
88
- if options[:except]
89
- File.expand_path(options[:except])
90
- end
91
- end
50
+ def errors
51
+ @errors ||= checkers.select(&:has_error?).map(&:errors).inject([], &:+)
92
52
  end
93
53
  end
94
54
  end
@@ -0,0 +1,34 @@
1
+ require "spec_helper"
2
+
3
+ module Guideline
4
+ describe OptionParser do
5
+ describe ".parse" do
6
+ subject do
7
+ described_class.parse(argv)
8
+ end
9
+
10
+ context "when ARGV is --no-abc-complexity" do
11
+ let(:argv) do
12
+ ["--no-abc-complexity"]
13
+ end
14
+ it { should == { :abc_complexity => false } }
15
+ end
16
+
17
+ context "when ARGV is --abc-complexity 5" do
18
+ let(:argv) do
19
+ ["--abc-complexity", "5"]
20
+ end
21
+ it { should == { :abc_complexity => "5" } }
22
+ end
23
+
24
+ context "when ARGV is --non-existent-key" do
25
+ let(:argv) do
26
+ ["--non-existent-key"]
27
+ end
28
+ it do
29
+ expect { subject }.to raise_error
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -2,111 +2,62 @@ require "spec_helper"
2
2
 
3
3
  module Guideline
4
4
  describe Runner do
5
- describe ".parse" do
6
- subject do
7
- described_class.parse(argv)
5
+ let(:runner) do
6
+ described_class.new
7
+ end
8
+
9
+ describe ".run" do
10
+ it "creates its instance and call #run" do
11
+ described_class.any_instance.should_receive(:run)
12
+ described_class.run
8
13
  end
14
+ end
9
15
 
16
+ describe "#run" do
10
17
  before do
11
- runner.stub(:puts)
18
+ runner.stub(:enable_checkers => enable_checkers)
12
19
  end
13
20
 
14
- let(:argv) do
15
- []
21
+ let(:enable_checkers) do
22
+ [checker]
16
23
  end
17
24
 
18
- let(:runner) do
19
- described_class.any_instance
25
+ let(:checker) do
26
+ mock(:has_error? => false)
20
27
  end
21
28
 
22
- it { should be_a HashWithIndifferentAccess }
23
-
24
- context "when given --init option" do
25
- let(:argv) do
26
- ["--init"]
27
- end
28
-
29
- context "when config file already exists" do
30
- before do
31
- File.stub(:exist? => true)
32
- end
33
-
34
- it "does not generate config file" do
35
- FileUtils.should_not_receive(:copy)
36
- expect { subject }.to raise_error(SystemExit)
37
- end
38
- end
39
-
40
- context "when config file does not exist" do
41
- before do
42
- File.stub(:exist? => false)
43
- end
44
-
45
- it "generates config file" do
46
- FileUtils.should_receive(:copy)
47
- expect { subject }.to raise_error(SystemExit)
48
- end
49
- end
29
+ it "runs enable checkers" do
30
+ checker.should_receive(:check).at_least(1)
31
+ runner.run
50
32
  end
33
+ end
51
34
 
52
- context "when given --version option" do
53
- let(:argv) do
54
- ["--version"]
55
- end
56
-
57
- it "shows current version number and exit" do
58
- runner.should_receive(:puts).with(VERSION)
59
- expect { subject }.to raise_error(SystemExit)
60
- end
35
+ describe "#enable_checkers" do
36
+ subject do
37
+ runner.send(:enable_checkers)
61
38
  end
62
39
 
63
- context "when not given --config option" do
64
- it "returns default config parsed from guideline.yml" do
65
- should == {
66
- "config" => {
67
- "Guideline::LongLineChecker" => {
68
- "max" => 80,
69
- },
70
- "Guideline::LongMethodChecker" => {
71
- "max" => 10,
72
- },
73
- "Guideline::AbcComplexityChecker" => {
74
- "max" => 10,
75
- },
76
- },
77
- "init" => nil,
78
- "version" => nil,
79
- }
80
- end
40
+ before do
41
+ runner.stub(:options => options)
81
42
  end
82
43
 
83
- context "when existent file is specified by --config option" do
84
- let(:argv) do
85
- ["--config", "existent.yml"]
86
- end
87
-
88
- before do
89
- YAML.stub(:load_file).and_return("a" => "b")
44
+ context "when options[:abc_complexity] is false" do
45
+ let(:options) do
46
+ { :abc_complexity => false }
90
47
  end
91
48
 
92
- it "returns config parsed from specified file" do
93
- should == {
94
- "config" => {
95
- "a" => "b",
96
- },
97
- "init" => nil,
98
- "version" => nil,
99
- }
49
+ it "does not include AbcComplexityChecker" do
50
+ should_not be_any {|checker| checker.is_a?(AbcComplexityChecker) }
100
51
  end
101
52
  end
102
53
 
103
- context "when non-existent file is specified by --config option" do
104
- let(:argv) do
105
- ["--config", "non-existent.yml"]
54
+ context "when options[:abc_complexity] is nil" do
55
+ let(:options) do
56
+ {}
106
57
  end
107
58
 
108
- it do
109
- expect { subject }.to raise_error
59
+ it "includes AbcComplexityChecker" do
60
+ should be_any {|checker| checker.is_a?(AbcComplexityChecker) }
110
61
  end
111
62
  end
112
63
  end
@@ -3,11 +3,15 @@ require "spec_helper"
3
3
  module Guideline
4
4
  describe Visitor do
5
5
  let(:visitor) do
6
- described_class.new(options)
6
+ described_class.new(pattern, checkers)
7
7
  end
8
8
 
9
- let(:options) do
10
- { :checker => [checker] }
9
+ let(:pattern) do
10
+ nil
11
+ end
12
+
13
+ let(:checkers) do
14
+ [checker]
11
15
  end
12
16
 
13
17
  let(:checker) do
@@ -16,29 +20,16 @@ module Guideline
16
20
 
17
21
  describe "#visit" do
18
22
  let(:path) do
19
- Pathname.new("spec/guideline/visitor_spec.rb")
23
+ Pathname.new(__FILE__)
20
24
  end
21
25
 
22
- context "when :only option is specified" do
23
- before do
24
- options[:only] = "lib/**/*.rb"
25
- end
26
-
27
- it "does not visit paths which are not specified" do
28
- checker.should_not_receive(:check).with(path)
29
- visitor.visit
30
- end
26
+ let(:pattern) do
27
+ path.to_s
31
28
  end
32
29
 
33
- context "when :except option is specified" do
34
- before do
35
- options[:except] = "spec/**/*.rb"
36
- end
37
-
38
- it "does not visit paths which are specified" do
39
- checker.should_not_receive(:check).with(path)
40
- visitor.visit
41
- end
30
+ it "calls checker.check with found paths" do
31
+ checker.should_receive(:check).with(path).at_least(1)
32
+ visitor.visit
42
33
  end
43
34
  end
44
35
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guideline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-09 00:00:00.000000000 Z
12
+ date: 2012-12-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: slop
16
- requirement: &70221529066600 !ruby/object:Gem::Requirement
15
+ name: code_analyzer
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,43 +21,31 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70221529066600
25
- - !ruby/object:Gem::Dependency
26
- name: code_analyzer
27
- requirement: &70221529082560 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
29
  version: '0'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70221529082560
36
30
  - !ruby/object:Gem::Dependency
37
- name: activesupport
38
- requirement: &70221529082140 !ruby/object:Gem::Requirement
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
35
  - - ! '>='
42
36
  - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :runtime
37
+ version: 2.12.0
38
+ type: :development
45
39
  prerelease: false
46
- version_requirements: *70221529082140
47
- - !ruby/object:Gem::Dependency
48
- name: rspec
49
- requirement: &70221529081640 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
50
41
  none: false
51
42
  requirements:
52
43
  - - ! '>='
53
44
  - !ruby/object:Gem::Version
54
45
  version: 2.12.0
55
- type: :development
56
- prerelease: false
57
- version_requirements: *70221529081640
58
46
  - !ruby/object:Gem::Dependency
59
47
  name: pry
60
- requirement: &70221529081220 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
61
49
  none: false
62
50
  requirements:
63
51
  - - ! '>='
@@ -65,10 +53,15 @@ dependencies:
65
53
  version: '0'
66
54
  type: :development
67
55
  prerelease: false
68
- version_requirements: *70221529081220
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
69
62
  - !ruby/object:Gem::Dependency
70
63
  name: simplecov
71
- requirement: &70221529080760 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
72
65
  none: false
73
66
  requirements:
74
67
  - - ! '>='
@@ -76,7 +69,12 @@ dependencies:
76
69
  version: '0'
77
70
  type: :development
78
71
  prerelease: false
79
- version_requirements: *70221529080760
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
80
78
  description: Guideline.gem checks that your code is protectingthe rule of coding guideline
81
79
  email:
82
80
  - r7kamura@gmail.com
@@ -86,7 +84,6 @@ extensions: []
86
84
  extra_rdoc_files: []
87
85
  files:
88
86
  - .gitignore
89
- - .guideline.yml
90
87
  - Gemfile
91
88
  - LICENSE.txt
92
89
  - README.md
@@ -104,7 +101,9 @@ files:
104
101
  - lib/guideline/checkers/trailing_whitespace_checker.rb
105
102
  - lib/guideline/checkers/unused_method_checker.rb
106
103
  - lib/guideline/error.rb
104
+ - lib/guideline/option_parser.rb
107
105
  - lib/guideline/parser/moduleable.rb
106
+ - lib/guideline/path_finder.rb
108
107
  - lib/guideline/runner.rb
109
108
  - lib/guideline/version.rb
110
109
  - lib/guideline/visitor.rb
@@ -118,6 +117,7 @@ files:
118
117
  - spec/guideline/checkers/trailing_whitespace_checker_spec.rb
119
118
  - spec/guideline/checkers/unused_method_checker_spec.rb
120
119
  - spec/guideline/error_spec.rb
120
+ - spec/guideline/option_parser_spec.rb
121
121
  - spec/guideline/runner_spec.rb
122
122
  - spec/guideline/visitor_spec.rb
123
123
  - spec/spec_helper.rb
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  version: '0'
142
142
  requirements: []
143
143
  rubyforge_project:
144
- rubygems_version: 1.8.15
144
+ rubygems_version: 1.8.24
145
145
  signing_key:
146
146
  specification_version: 3
147
147
  summary: The guideline of your code
@@ -156,7 +156,7 @@ test_files:
156
156
  - spec/guideline/checkers/trailing_whitespace_checker_spec.rb
157
157
  - spec/guideline/checkers/unused_method_checker_spec.rb
158
158
  - spec/guideline/error_spec.rb
159
+ - spec/guideline/option_parser_spec.rb
159
160
  - spec/guideline/runner_spec.rb
160
161
  - spec/guideline/visitor_spec.rb
161
162
  - spec/spec_helper.rb
162
- has_rdoc:
data/.guideline.yml DELETED
@@ -1,6 +0,0 @@
1
- "Guideline::LongLineChecker":
2
- max: 80
3
- "Guideline::LongMethodChecker":
4
- max: 10
5
- "Guideline::AbcComplexityChecker":
6
- max: 10