Sha256: 1fe850695a25125d55235fb71d7b37dfd8011a2e93b40cd4a9d4c5731c769900

Contents?: true

Size: 1.56 KB

Versions: 23

Compression:

Stored size: 1.56 KB

Contents

# frozen_string_literal: true

module AppMap
  module Service
    module Validator
      class Violation
        attr_reader :level, :setting, :filename, :message, :detailed_message, :help_urls

        class << self
          def error(message:, setting: nil, filename: nil, detailed_message: nil, help_urls: nil)
            self.new(
              level: :error,
              message: message,
              setting: setting,
              filename: filename,
              detailed_message: detailed_message,
              help_urls: help_urls
            )
          end

          def warning(message:, setting: nil, filename: nil, detailed_message: nil, help_urls: nil)
            self.new(
              level: :warning,
              message: message,
              setting: setting,
              filename: filename,
              detailed_message: detailed_message,
              help_urls: help_urls
            )
          end
        end

        def initialize(level:, message:, setting:, filename:, detailed_message:, help_urls:)
          @level = level
          @setting = setting
          @filename = filename
          @message = message
          @detailed_message = detailed_message
          @help_urls = help_urls
        end

        def to_h
          instance_variables.each_with_object({}) do |var, hash|
            hash[var.to_s.delete("@")] = self.instance_variable_get(var)
          end.compact
        end

        def error?
          @level == :error
        end

        def warning?
          @level == :warning
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
appmap-1.1.1 lib/appmap/service/validator/violation.rb
appmap-1.0.1 lib/appmap/service/validator/violation.rb
appmap-1.0.0 lib/appmap/service/validator/violation.rb
appmap-0.103.0 lib/appmap/service/validator/violation.rb
appmap-0.102.2 lib/appmap/service/validator/violation.rb
appmap-0.102.1 lib/appmap/service/validator/violation.rb
appmap-0.102.0 lib/appmap/service/validator/violation.rb
appmap-0.101.0 lib/appmap/service/validator/violation.rb
appmap-0.100.0 lib/appmap/service/validator/violation.rb
appmap-0.99.4 lib/appmap/service/validator/violation.rb
appmap-0.99.2 lib/appmap/service/validator/violation.rb
appmap-0.99.1 lib/appmap/service/validator/violation.rb
appmap-0.99.0 lib/appmap/service/validator/violation.rb
appmap-0.98.1 lib/appmap/service/validator/violation.rb
appmap-0.98.0 lib/appmap/service/validator/violation.rb
appmap-0.97.0 lib/appmap/service/validator/violation.rb
appmap-0.96.0 lib/appmap/service/validator/violation.rb
appmap-0.95.2 lib/appmap/service/validator/violation.rb
appmap-0.95.1 lib/appmap/service/validator/violation.rb
appmap-0.95.0 lib/appmap/service/validator/violation.rb