class RSpec::Core::FilterRules

@private

Constants

PROC_HEX_NUMBER
PROJECT_DIR

Attributes

Public Class Methods

# File rspec-core/lib/rspec/core/filter_manager.rb, line 122
def self.build
  exclusions = ExclusionRules.new
  inclusions = InclusionRules.new
  exclusions.opposite = inclusions
  inclusions.opposite = exclusions
  [exclusions, inclusions]
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 130
def initialize(rules={})
  @rules = rules
end

Public Instance Methods

# File rspec-core/lib/rspec/core/filter_manager.rb, line 161
def [](key)
  @rules[key]
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 134
def add(updated)
  @rules.merge!(updated).each_key { |k| opposite.delete(k) }
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 138
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
# File rspec-core/lib/rspec/core/filter_manager.rb, line 149
def clear
  @rules.clear
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 153
def delete(key)
  @rules.delete(key)
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 173
def description
  rules.inspect.gsub(PROC_HEX_NUMBER, '').gsub(PROJECT_DIR, '.').gsub(' (lambda)', '')
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 169
def each_pair(&block)
  @rules.each_pair(&block)
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 165
def empty?
  rules.empty?
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 157
def fetch(*args, &block)
  @rules.fetch(*args, &block)
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 177
def include_example?(example)
  MetadataFilter.apply?(:any?, @rules, example.metadata)
end
# File rspec-core/lib/rspec/core/filter_manager.rb, line 144
def use_only(updated)
  updated.each_key { |k| opposite.delete(k) }
  @rules.replace(updated)
end