Class: Tailor::Problem

Inherits:
Hash
  • Object
show all
Includes:
LogSwitch::Mixin
Defined in:
lib/tailor/problem.rb

Overview

A Hashed data structure that simply defines the data needed to report a problem

Instance Method Summary collapse

Constructor Details

#initialize(type, line, column, message, level) ⇒ Problem

Returns a new instance of Problem.

Parameters:

  • type (Symbol)

    The problem type.

  • line (Fixnum)

    The line of the file the problem was found on.

  • column (Fixnum)

    The column of the file line the problem was found on.

  • message (String)

    The message to tell the user about the problem.

  • level (Fixnum)

    The severity of the problem.



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/tailor/problem.rb', line 16

def initialize(type, line, column, message, level)
  @type = type
  @line = line
  @column = column
  @message = message
  @level = level
  set_values
  subclass_name = self.class.to_s.sub(/^Tailor::/, '')
  msg = "<#{subclass_name}> #{self[:line]}[#{self[:column]}]: "
  msg << "#{@level.upcase}[:#{self[:type]}] #{self[:message]}"
  log msg
end

Instance Method Details

#set_valuesObject

Sets the standard values for the problem based on the type and binding.



30
31
32
33
34
35
36
# File 'lib/tailor/problem.rb', line 30

def set_values
  self[:type] = @type
  self[:line] = @line
  self[:column] = @column
  self[:message] = @message
  self[:level] = @level
end