code_hunter 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -54,9 +54,9 @@ If you want to ignore some warnings, write `# ignore` annotation as code comment
54
54
  If the detected line hits `/#\s*ignore/i`, it is ignored.
55
55
 
56
56
  ```ruby
57
- danger_but_necessary_code # ignore
58
- danger_but_necessary_code # IGNORE
59
- danger_but_necessary_code # Ignore for some reason
57
+ dangerous_but_necessary_code # ignore
58
+ dangerous_but_necessary_code # IGNORE
59
+ dangerous_but_necessary_code # Ignore for some reason
60
60
  ```
61
61
 
62
62
 
@@ -1,6 +1,7 @@
1
1
  require "active_support/all"
2
2
 
3
3
  require "code_hunter/version"
4
+ require "code_hunter/method_logger"
4
5
  require "code_hunter/option_parser"
5
6
  require "code_hunter/runner"
6
7
  require "code_hunter/renderer"
@@ -1,6 +1,8 @@
1
1
  module CodeHunter
2
2
  class Brakeman
3
3
  class Invoker
4
+ extend MethodLogger
5
+
4
6
  attr_reader :options
5
7
 
6
8
  def initialize(options = {})
@@ -10,9 +12,12 @@ module CodeHunter
10
12
  def invoke
11
13
  system(
12
14
  "brakeman",
13
- "--output", Brakeman::TEMPORAL_PATHNAME.to_s
15
+ "--output", Brakeman::TEMPORAL_PATHNAME.to_s,
16
+ :out => IO::NULL,
17
+ :err => IO::NULL
14
18
  )
15
19
  end
20
+ log(:invoke)
16
21
  end
17
22
  end
18
23
  end
@@ -0,0 +1,11 @@
1
+ module CodeHunter
2
+ module MethodLogger
3
+ def log(method_name)
4
+ define_method("#{method_name}_with_log") do |*args, &block|
5
+ warn("#{Time.now} #{self.class}##{method_name}")
6
+ __send__("#{method_name}_without_log", *args, &block)
7
+ end
8
+ alias_method_chain method_name, :log
9
+ end
10
+ end
11
+ end
@@ -2,6 +2,8 @@ require "json"
2
2
 
3
3
  module CodeHunter
4
4
  class Pendaxes
5
+ extend MethodLogger
6
+
5
7
  attr_reader :options
6
8
 
7
9
  def initialize(options = {})
@@ -15,8 +17,9 @@ module CodeHunter
15
17
  private
16
18
 
17
19
  def invoke
18
- `pendaxes-oneshot #{options[:application_path]} --reporter json`
20
+ `pendaxes-oneshot #{options[:application_path]} --reporter json 2>/dev/null `
19
21
  end
22
+ log(:invoke)
20
23
 
21
24
  def summarize(json)
22
25
  pendings = JSON.parse(json)["pendings"]
@@ -1,6 +1,8 @@
1
1
  module CodeHunter
2
2
  class RailsBestPractices
3
3
  class Invoker
4
+ extend MethodLogger
5
+
4
6
  attr_reader :options
5
7
 
6
8
  def initialize(options = {})
@@ -11,9 +13,12 @@ module CodeHunter
11
13
  system(
12
14
  "rails_best_practices",
13
15
  "--format", "html",
14
- "--output-file", RailsBestPractices::TEMPORAL_PATHNAME.to_s
16
+ "--output-file", RailsBestPractices::TEMPORAL_PATHNAME.to_s,
17
+ :out => IO::NULL,
18
+ :err => IO::NULL
15
19
  )
16
20
  end
21
+ log(:invoke)
17
22
  end
18
23
  end
19
24
  end
@@ -5,6 +5,8 @@ module CodeHunter
5
5
  # Render warnings to string with the specified format.
6
6
  # As its format, AVAILABLE_FORMATS are available ("yaml" is default).
7
7
  class Renderer
8
+ extend MethodLogger
9
+
8
10
  AVAILABLE_FORMATS = %w[json yaml]
9
11
 
10
12
  def self.render(*args)
@@ -26,6 +28,7 @@ module CodeHunter
26
28
  raise ArgumentError, "format #{format} is not available. Use #{AVAILABLE_FORMATS}"
27
29
  end
28
30
  end
31
+ log(:render)
29
32
 
30
33
  private
31
34
 
@@ -1,3 +1,3 @@
1
1
  module CodeHunter
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  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.4
4
+ version: 0.1.5
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-21 00:00:00.000000000 Z
12
+ date: 2013-03-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -143,6 +143,7 @@ files:
143
143
  - lib/code_hunter/brakeman/invoker.rb
144
144
  - lib/code_hunter/brakeman/summarizer.rb
145
145
  - lib/code_hunter/git_blamer.rb
146
+ - lib/code_hunter/method_logger.rb
146
147
  - lib/code_hunter/option_parser.rb
147
148
  - lib/code_hunter/pendaxes.rb
148
149
  - lib/code_hunter/rails_best_practices.rb
@@ -176,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
177
  version: '0'
177
178
  requirements: []
178
179
  rubyforge_project:
179
- rubygems_version: 1.8.24
180
+ rubygems_version: 1.8.23
180
181
  signing_key:
181
182
  specification_version: 3
182
183
  summary: Code hunter
@@ -185,4 +186,3 @@ test_files:
185
186
  - spec/code_hunter/renderer_spec.rb
186
187
  - spec/code_hunter/runner_spec.rb
187
188
  - spec/spec_helper.rb
188
- has_rdoc: