Method: NanDoc::StreamColorizer::RuleList#when

Defined in:
lib/nandoc/support/stream-colorizer.rb

#when(re_or_symbol, opts = nil, &block) ⇒ Object



74
75
76
77
78
79
80
81
82
83
# File 'lib/nandoc/support/stream-colorizer.rb', line 74

def when(re_or_symbol, opts=nil, &block)
  if re_or_symbol.kind_of?(::Regexp) && Hash===opts && ! block_given?
    add_regex_rule(re_or_symbol, opts)
  elsif re_or_symbol.kind_of?(Symbol) && opts.nil? && block_given?
    define_state(re_or_symbol, &block)
  else
    fail("unrecongized signature: `#{self.class}#when("<<
      "[#{re_or_symbol.class}],[#{opts.class}],[#{block.class}])")
  end
end