class Tailor::Rulers::AllowTrailingLineSpacesRuler

Public Class Methods

new(config, options) click to toggle source
Calls superclass method Tailor::Ruler::new
# File lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb, line 6
def initialize(config, options)
  super(config, options)
  add_lexer_observers :ignored_nl, :nl
end

Public Instance Methods

ignored_nl_update(lexed_line, lineno, column) click to toggle source
# File lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb, line 11
def ignored_nl_update(lexed_line, lineno, column)
  log "Last event: #{lexed_line.last_non_line_feed_event}"
  log "Line ends with space: #{lexed_line.ends_with_sp?}"

  measure(lexed_line, lineno, column)
end
measure(lexed_line, lineno, column) click to toggle source

Checks to see if the line contains trailing spaces.

@param [LexedLine] lexed_line The line to check for trailing spaces. @param [Fixnum] lineno Line the potential problem is on. @param [Fixnum] column Column the potential problem is on.

# File lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb, line 27
def measure(lexed_line, lineno, column)
  if lexed_line.ends_with_sp?
    actual = lexed_line.last_non_line_feed_event.last.size
    problem_message = "Line has #{actual} trailing spaces."

    @problems << Problem.new(problem_type, lineno, column,
      problem_message, @options[:level])
  end
end
nl_update(lexed_line, lineno, column) click to toggle source
# File lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb, line 18
def nl_update(lexed_line, lineno, column)
  ignored_nl_update(lexed_line, lineno, column)
end