Class: Danger::DangerWCC::Jshint
- Inherits:
-
Object
- Object
- Danger::DangerWCC::Jshint
- Includes:
- Utils
- Defined in:
- lib/wcc/jshint.rb
Constant Summary collapse
- DEFAULT_OPTIONS =
{ directory: 'app/assets/javascripts' }.freeze
Instance Method Summary collapse
-
#initialize(plugin, options = {}) ⇒ Jshint
constructor
A new instance of Jshint.
- #perform ⇒ Object
Methods included from Utils
#diff_strings, #each_addition_in_diff, #each_file_in_diff, #find_in_diff, #format_links_as_markdown, #issue, #logger, #parsed_diffs, #plugin, #run, #run_and_diff, #with_revision
Constructor Details
#initialize(plugin, options = {}) ⇒ Jshint
Returns a new instance of Jshint.
13 14 15 16 |
# File 'lib/wcc/jshint.rb', line 13 def initialize(plugin, = {}) @plugin = plugin @options = DEFAULT_OPTIONS.merge() end |
Instance Method Details
#perform ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/wcc/jshint.rb', line 18 def perform return unless Dir.exist?(@options[:directory]) run('PREFIX=/tmp npm install -g jshint') diff = run_jshint_diff # run jshint again to get line numbers jshint_lines = run '/tmp/lib/node_modules/jshint/bin/jshint '\ "#{@options[:directory]}" jshint_lines = jshint_lines.lines each_addition_in_diff(diff) do |line| add_jshint_warning(jshint_lines[line.line_number.right - 1]) end end |