Sha256: ebb903485a8e87868a6dc5b3904f5f54486032f707b5b9118afee2ab5808dd03
Contents?: true
Size: 694 Bytes
Versions: 11
Compression:
Stored size: 694 Bytes
Contents
class SpecMatcher def initialize(context_and_or_spec_name, context_name) @context_name = context_name @name_to_match = context_and_or_spec_name end def matches?(spec_name) return true if matches_context? && (matches_spec?(spec_name) || context_only?) return true if matches_spec?(spec_name) && spec_only?(spec_name) return false end private def spec_only? spec @name_to_match == spec end def context_only? @name_to_match == @context_name end def matches_context? @name_to_match =~ /^#{Regexp.escape(@context_name)}\b/ end def matches_spec?(spec_name) @name_to_match =~ /\b#{Regexp.escape(spec_name)}$/ end end
Version data entries
11 entries across 11 versions & 1 rubygems