code_hunter 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -15,8 +15,11 @@ $ gem install code_hunter
15
15
  ```
16
16
  $ code_hunter --help
17
17
  Usage: code_hunter [options]
18
- --application-path= (default: ./) rails application root path
19
- --format= (default: yaml) output format (yaml or json)
18
+ --application-path= (default: ./) rails application root path
19
+ --format= (default: yaml) output format (yaml or json)
20
+ --no-brakeman (default: false) disable brakeman
21
+ --no-pendaxes (default: false) disable pendaxes
22
+ --no-rails-best-practices (default: false) disable rails-best-practices
20
23
 
21
24
  $ code_hunter --application-path /path/to/rails/root
22
25
  ...
@@ -3,8 +3,11 @@ require "optparse"
3
3
  module CodeHunter
4
4
  class OptionParser < ::OptionParser
5
5
  OPTIONS = [
6
- "--application-path=", "(default: ./) rails application root path",
7
- "--format=", "(default: yaml) output format (yaml or json)",
6
+ "--application-path=", "(default: ./) rails application root path",
7
+ "--format=", "(default: yaml) output format (yaml or json)",
8
+ "--no-brakeman", "(default: false) disable brakeman",
9
+ "--no-pendaxes", "(default: false) disable pendaxes",
10
+ "--no-rails-best-practices", "(default: false) disable rails-best-practices",
8
11
  ]
9
12
 
10
13
  def self.parse!(argv)
@@ -31,11 +31,11 @@ module CodeHunter
31
31
  private
32
32
 
33
33
  def services
34
- [
35
- Pendaxes,
36
- Brakeman,
37
- RailsBestPractices,
38
- ].map {|klass| klass.new(options) }
34
+ array = []
35
+ array << Pendaxes if options[:pendaxes] != false
36
+ array << RailsBestPractices if options[:rails_best_practices] != false
37
+ array << Brakeman if options[:brakeman] != false
38
+ array.map {|klass| klass.new(options) }
39
39
  end
40
40
 
41
41
  def run_with_application_path
@@ -1,3 +1,3 @@
1
1
  module CodeHunter
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -0,0 +1,61 @@
1
+ require "spec_helper"
2
+
3
+ module CodeHunter
4
+ describe Runner do
5
+ let(:instance) do
6
+ described_class.new(argv)
7
+ end
8
+
9
+ let(:argv) do
10
+ []
11
+ end
12
+
13
+ describe "#services" do
14
+ subject(:services) do
15
+ instance.send(:services)
16
+ end
17
+
18
+ context "by default" do
19
+ it "returns all service instances" do
20
+ services.should have(3).services
21
+ services[0].should be_a Pendaxes
22
+ services[1].should be_a RailsBestPractices
23
+ services[2].should be_a Brakeman
24
+ end
25
+ end
26
+
27
+ context "with --no-pendaxes option" do
28
+ before do
29
+ argv << "--no-pendaxes"
30
+ end
31
+ it "returns services without pendaxes" do
32
+ services.should have(2).services
33
+ services[0].should be_a RailsBestPractices
34
+ services[1].should be_a Brakeman
35
+ end
36
+ end
37
+
38
+ context "with --no-rails-best-practices option" do
39
+ before do
40
+ argv << "--no-rails-best-practices"
41
+ end
42
+ it "returns services without rails-best-practices" do
43
+ services.should have(2).services
44
+ services[0].should be_a Pendaxes
45
+ services[1].should be_a Brakeman
46
+ end
47
+ end
48
+
49
+ context "with --no-brakeman option" do
50
+ before do
51
+ argv << "--no-brakeman"
52
+ end
53
+ it "returns services without brakeman" do
54
+ services.should have(2).services
55
+ services[0].should be_a Pendaxes
56
+ services[1].should be_a RailsBestPractices
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code_hunter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-05 00:00:00.000000000 Z
12
+ date: 2013-02-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -153,6 +153,7 @@ files:
153
153
  - lib/code_hunter/version.rb
154
154
  - spec/code_hunter/pendaxes_spec.rb
155
155
  - spec/code_hunter/renderer_spec.rb
156
+ - spec/code_hunter/runner_spec.rb
156
157
  - spec/spec_helper.rb
157
158
  homepage: https://github.com/r7kamura/code_hunter
158
159
  licenses: []
@@ -181,4 +182,6 @@ summary: Code hunter
181
182
  test_files:
182
183
  - spec/code_hunter/pendaxes_spec.rb
183
184
  - spec/code_hunter/renderer_spec.rb
185
+ - spec/code_hunter/runner_spec.rb
184
186
  - spec/spec_helper.rb
187
+ has_rdoc: