Module: LlmCassette::RSpec::Helpers

Defined in:
lib/llm_cassette/rspec/helpers.rb

Instance Method Summary collapse

Instance Method Details

#use_llm_cassette(name = nil, **options) ⇒ Object

Class-level helper — wraps every example in the group with a cassette.

describe MyService do
  use_llm_cassette "my_service"
  it "..." { ... }
end

Omit the name to auto-derive it from the example group description.



14
15
16
17
18
19
20
21
22
# File 'lib/llm_cassette/rspec/helpers.rb', line 14

def use_llm_cassette(name = nil, **options)
  around do |example|
    cassette_name = name || example.[:full_description]
                                   .gsub(%r{[^a-zA-Z0-9_\-/]}, "_")
                                   .squeeze("_")
                                   .downcase
    LlmCassette.use_cassette(cassette_name, **options) { example.run }
  end
end