module MinitestVcr::StringHelpers

Public Class Methods

vcr_path(example) click to toggle source
# File lib/minitest-vcr/spec.rb, line 27
def self.vcr_path(example)
  description_stack(example).push(extract_example_description(example)).join("/")
end

Protected Class Methods

description_stack(example) click to toggle source
# File lib/minitest-vcr/spec.rb, line 33
def self.description_stack(example)
  frame = example.class
  stack = []

  while frame != Minitest::Spec do
    stack.unshift frame.desc.to_s
    frame = frame.superclass
  end

  return stack
end
extract_example_description(example) click to toggle source

Minitest::Spec takes the example description and writes a test_NNNN_ in front of it, and doesn't actually keep the original anywhere. Okay, we'll take it out.

# File lib/minitest-vcr/spec.rb, line 48
def self.extract_example_description(example)
  if (example.name =~ /\Atest_\d{4}_(.*)\z/)
    return $1
  else
    return example.name
  end
end