Sha256: b2d4bbdf0d0e5ecaf4a7d4c56b04652f1a04748e728109484dffeda474ce4632
Contents?: true
Size: 1.23 KB
Versions: 35
Compression:
Stored size: 1.23 KB
Contents
require_relative "matcher" module Guard class Watcher class Pattern # TODO: remove before Guard 3.x class DeprecatedRegexp def initialize(pattern) @original_pattern = pattern end def self.convert(pattern) Matcher.new(Regexp.new(pattern)) end def deprecated? regexp = /(^(\^))|(>?(\\\.)|(\.\*))|(\(.*\))|(\[.*\])|(\$$)/ @original_pattern.is_a?(String) && regexp.match(@original_pattern) end def self.show_deprecation(pattern) @warning_printed ||= false unless @warning_printed msg = "*" * 20 + "\nDEPRECATION WARNING!\n" + "*" * 20 msg += <<-MSG You have a string in your Guardfile watch patterns that seem to represent a Regexp. Guard matches String with == and Regexp with Regexp#match. You should either use plain String (without Regexp special characters) or real Regexp. MSG UI.deprecation(msg) @warning_printed = true end new_regexp = Regexp.new(pattern).inspect UI.info "\"#{pattern}\" will be converted to #{new_regexp}\n" end end end end end
Version data entries
35 entries across 35 versions & 8 rubygems