Sha256: 41d34fc63c746317383e6b7f037c0262597baf95586cc4e1cd974dbb4b884b8a
Contents?: true
Size: 1.24 KB
Versions: 3
Compression:
Stored size: 1.24 KB
Contents
require 'jsduck/warning/warn_exception' module JsDuck module Warning # A basic warning type. class Basic # Creates a simple warning with a message text. # The warning is disabled by default. def initialize(type, msg) @type = type @msg = msg @enabled = false @patterns = [] end # Enables or disables the warning. # Optionally enables/disables it for files matching a path_pattern. def set(enabled, path_pattern=nil, params=[]) if path_pattern if @enabled == enabled raise WarnException, "Warning rule '#{enabled ? '+' : '-'}#{@type}:#{path_pattern}' has no effect" else @patterns << Regexp.new(Regexp.escape(path_pattern)) end else @enabled = enabled @patterns = [] end end # True when warning is enabled for the given filename. # (The params parameter is ignored). def enabled?(filename="", params=[]) if @patterns.any? {|re| filename =~ re } !@enabled else @enabled end end # Documentation for the warning. def doc " #{@enabled ? '+' : '-'}#{@type} - #{@msg}" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jsduck-5.3.1 | lib/jsduck/warning/basic.rb |
jsduck-5.3.0 | lib/jsduck/warning/basic.rb |
jsduck-5.2.0 | lib/jsduck/warning/basic.rb |