class RSpec::Core::ExclusionRules

@private

Constants

PROC_HEX_NUMBER
PROJECT_DIR

Attributes

opposite[RW]
rules[R]

Public Class Methods

build() click to toggle source
# File lib/rspec/core/filter_manager.rb, line 104
def self.build
  exclusions = ExclusionRules.new
  inclusions = InclusionRules.new
  exclusions.opposite = inclusions
  inclusions.opposite = exclusions
  [exclusions, inclusions]
end
new(rules={}) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 112
def initialize(rules={})
  @rules = rules
end

Public Instance Methods

[](key) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 143
def [](key)
  @rules[key]
end
add(updated) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 116
def add(updated)
  @rules.merge!(updated).each_key { |k| opposite.delete(k) }
end
add_with_low_priority(updated) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 120
def add_with_low_priority(updated)
  updated = updated.merge(@rules)
  opposite.each_pair { |k, v| updated.delete(k) if updated[k] == v }
  @rules.replace(updated)
end
clear() click to toggle source
# File lib/rspec/core/filter_manager.rb, line 131
def clear
  @rules.clear
end
delete(key) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 135
def delete(key)
  @rules.delete(key)
end
description() click to toggle source
# File lib/rspec/core/filter_manager.rb, line 155
def description
  rules.inspect.gsub(PROC_HEX_NUMBER, '').gsub(PROJECT_DIR, '.').gsub(' (lambda)', '')
end
each_pair(&block) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 151
def each_pair(&block)
  @rules.each_pair(&block)
end
empty?() click to toggle source
# File lib/rspec/core/filter_manager.rb, line 147
def empty?
  rules.empty?
end
fetch(*args, &block) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 139
def fetch(*args, &block)
  @rules.fetch(*args, &block)
end
include_example?(example) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 159
def include_example?(example)
  MetadataFilter.apply?(:any?, @rules, example.metadata)
end
use_only(updated) click to toggle source
# File lib/rspec/core/filter_manager.rb, line 126
def use_only(updated)
  updated.each_key { |k| opposite.delete(k) }
  @rules.replace(updated)
end