내가 당신에게 데모 코드를 표시하려면 : 그러니까 기본적으로 두 번실행 코드 경우에만 특정 조건 여기
if ENV["PRODUCTION"]
user.apply_discount!
product.update!
else
VCR.use_cassette(vcr_cassette) do
user.apply_discount!
product.update!
end
end
을 내가 거기 같은 코드가 있습니다
user.apply_discount!
product.update!
어떻게 이 코드 중복을 방지 할 수 있습니까? 어떻게 할 수 있습니까? 코드를 블록 안에 넣은 다음 직접 또는 블록으로 호출 할 생각이었습니다. 다음은 예입니다.
actions = Proc.new do
user.apply_discount!
product.update!
end
if ENV["PRODUCTION"]
actions.call
else
VCR.use_cassette(vcr_cassette) do
actions.call
end
end
다른 생각이 있으십니까? 더 나은 솔루션? 감사합니다.
이것은 멋집니다. 그러나'ENV ('PRODUCTION')'메서드에서 접근 할 수 있으므로 인수로 전달해야합니까? – SteveTurczyn
@SteveTurczyn 좋은 전화. 어디에서나 액세스 할 수있는 변수를 전달할 필요가 없습니다. :) –