Class: EagerEye::Fixers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/eager_eye/fixers/base.rb

Direct Known Subclasses

PluckToSelect

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(issue, source_code) ⇒ Base

Returns a new instance of Base.



8
9
10
11
12
# File 'lib/eager_eye/fixers/base.rb', line 8

def initialize(issue, source_code)
  @issue = issue
  @source_code = source_code
  @source_lines = source_code.lines
end

Instance Attribute Details

#issueObject (readonly)

Returns the value of attribute issue.



6
7
8
# File 'lib/eager_eye/fixers/base.rb', line 6

def issue
  @issue
end

#source_linesObject (readonly)

Returns the value of attribute source_lines.



6
7
8
# File 'lib/eager_eye/fixers/base.rb', line 6

def source_lines
  @source_lines
end

Instance Method Details

#diffObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/eager_eye/fixers/base.rb', line 22

def diff
  return nil unless fixable?

  original_line = @source_lines[issue.line_number - 1]
  fixed_line = fixed_content
  return nil if original_line == fixed_line

  {
    file: issue.file_path,
    line: issue.line_number,
    original: original_line.chomp,
    fixed: fixed_line.chomp
  }
end

#fixObject

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/eager_eye/fixers/base.rb', line 18

def fix
  raise NotImplementedError
end

#fixable?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/eager_eye/fixers/base.rb', line 14

def fixable?
  false
end