Skip to content

Commit

Permalink
Merge dd181e5 into 346bd29
Browse files Browse the repository at this point in the history
  • Loading branch information
jrochkind committed Oct 17, 2014
2 parents 346bd29 + dd181e5 commit 7cf3475
Show file tree
Hide file tree
Showing 11 changed files with 215 additions and 51 deletions.
18 changes: 13 additions & 5 deletions lib/minitest-vcr/spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def self.configure!
run_before = lambda do |example|
if metadata[:vcr]
options = metadata[:vcr].is_a?(Hash) ? metadata[:vcr] : {}
VCR.insert_cassette StringHelpers.vcr_path(example.class.name, example, spec_name), options
VCR.insert_cassette StringHelpers.vcr_path(example, spec_name), options
end
end

Expand All @@ -24,14 +24,22 @@ def self.configure!

module StringHelpers

def self.vcr_path(example_class_name, example, spec_name)
prep(example.class.name).push(spec_name).join("/")
def self.vcr_path(example, spec_name)
description_stack(example).push(spec_name).join("/")
end

protected

def self.prep string
string.split("::").map {|e| e.sub(/[^\w]*$/, "")}.reject(&:empty?) - ["vcr"]
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

end
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 7cf3475

Please sign in to comment.