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