Class: Codegrade::Grader::Jshintrb

Inherits:
Object
  • Object
show all
Defined in:
lib/codegrade/grader/jshintrb.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ Jshintrb

Returns a new instance of Jshintrb.



6
7
8
# File 'lib/codegrade/grader/jshintrb.rb', line 6

def initialize(content)
  @content = content
end

Instance Attribute Details

#offensesObject (readonly)

Returns the value of attribute offenses.



4
5
6
# File 'lib/codegrade/grader/jshintrb.rb', line 4

def offenses
  @offenses
end

Instance Method Details

#gradeObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/codegrade/grader/jshintrb.rb', line 10

def grade
  @offenses = ::Jshintrb.lint(@content).collect do |data|
    category = data['raw'].downcase.gsub(
      /\W/, '_').gsub(/_+/, '_').gsub(/_$/, '')

    Codegrade::Offense.new(
      :category       => category,
      :line_number    => data['line'],
      :column_number  => data['character'])
  end
end