Sha256: 411c5b5a7b78aebb85709b27e82134db50a690d3d17cc86933ed0a9cabb00f21

Contents?: true

Size: 710 Bytes

Versions: 3

Compression:

Stored size: 710 Bytes

Contents

require 'roodi/core/error'

module Roodi

  module Checks

    class Check

      def initialize
        @errors = []
      end
  
      def position(offset = 0)
        "#{@line[2]}:#{@line[1] + offset}"
      end
  
      def evaluate_node_at_line(node, line)
        @line = line
        eval_method = "evaluate_#{node.node_type}"
        self.send(eval_method, node) if self.respond_to? eval_method
        evaluate(node) if self.respond_to? :evaluate
      end
  
      def add_error(info = {}, offset = 0)
        klass = self.class
        @errors << Roodi::Core::Error.new(klass, info, "#{@line[2]}", "#{@line[1] + offset}")
      end
  
      def errors
        @errors
      end

    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
marcoow-roodi-1.3.2 lib/roodi/checks/check.rb
marcoow-roodi-1.3.4 lib/roodi/checks/check.rb
marcoow-roodi-1.3.5 lib/roodi/checks/check.rb