Class: EacRubyUtils::Rspec::Conditional

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_ruby_utils/rspec/conditional.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConditional

Returns a new instance of Conditional.



12
13
14
# File 'lib/eac_ruby_utils/rspec/conditional.rb', line 12

def initialize
  @tags = {}
end

Class Method Details

.defaultObject



8
9
10
# File 'lib/eac_ruby_utils/rspec/conditional.rb', line 8

def self.default
  @default ||= new
end

Instance Method Details

#add(tag, &condition) ⇒ Object



16
17
18
# File 'lib/eac_ruby_utils/rspec/conditional.rb', line 16

def add(tag, &condition)
  tags[tag] = condition
end

#configure(rspec_config) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/eac_ruby_utils/rspec/conditional.rb', line 20

def configure(rspec_config)
  tags.each do |tag, condition|
    message = condition.call
    if message.present?
      puts("[WARN] Excluded tag: #{tag}: #{message}")
      rspec_config.filter_run_excluding tag
    end
  end
end