Method: Epuber::Transformer::TextTransformer#replace_all

Defined in:
lib/epuber/transformer/text_transformer.rb

#replace_all(pattern, replacement = nil, multiple_times: false, &block) ⇒ String?

Shortcut for performing substitutions in text

Parameters:

  • pattern (Regexp, String)
  • replacement (String, nil) (defaults to: nil)
  • multiple_times (Bool) (defaults to: false)

    run the replacement multiple times, while there is something to replace

  • block (Proc)

    optional block for creating replacements, see String#gsub!

Returns:

  • (String, nil)

    see String#gsub!



46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/epuber/transformer/text_transformer.rb', line 46

def replace_all(pattern, replacement = nil, multiple_times: false, &block)
  result = if replacement.nil?
             @text.gsub!(pattern, &block)
           else
             @text.gsub!(pattern, replacement, &block)
           end

  if multiple_times && !result.nil?
    result = replace_all(pattern, replacement, multiple_times: multiple_times,
                         &block)
  end
  result
end