module CoreExtensions::Regexp::Examples

A wrapper module to namespace/isolate the Regexp#examples and Regexp#random_example monkey patches. No core classes are extended in any way, other than the above two methods.

Public Instance Methods

examples(**config_options) click to toggle source
# File lib/core_extensions/regexp/examples.rb, line 7
def examples(**config_options)
  RegexpExamples::Config.with_configuration(**config_options) do
    examples_by_method(:result)
  end
end
random_example(**config_options) click to toggle source
# File lib/core_extensions/regexp/examples.rb, line 13
def random_example(**config_options)
  RegexpExamples::Config.with_configuration(**config_options) do
    examples_by_method(:random_result).sample
  end
end

Private Instance Methods

examples_by_method(method) click to toggle source
# File lib/core_extensions/regexp/examples.rb, line 21
def examples_by_method(method)
  full_examples = RegexpExamples.generic_map_result(
    RegexpExamples::Parser.new(source, options).parse,
    method
  )
  RegexpExamples::BackReferenceReplacer.new.substitute_backreferences(full_examples)
end