class RSpec::Core::FilterRules
@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