Method: String#mgsub
- Defined in:
- lib/wdd-ruby-ext/string.rb
#mgsub(key_value_pairs = [].freeze) ⇒ Object
Performs multiple gsub operations in a single pass. key_value_pairs is an array of [key,value] pairs where each key is a regular expression and the value is the value to substitute when that regexp is matched.
34 35 36 37 38 39 |
# File 'lib/wdd-ruby-ext/string.rb', line 34 def mgsub(key_value_pairs=[].freeze) regexp_fragments = key_value_pairs.collect { |k,v| k } gsub(Regexp.union(*regexp_fragments)) do |match| key_value_pairs.detect{|k,v| k =~ match}[1] end end |