2013-06-03 2 views
0

Я NEET видеомагнитофон, чтобы пропустить только https://api.github.com/users/lapaty/starred вызова реальный внешний API, в то время как происходит не издевается подобный путь, как https://api.github.com/repos/lgs/elasticrepoПусть VCR скачет URI:

До сих пор я попробовал следующее, без какого-либо успеха:

VCR.configure do |c| 
    ... 
    c.ignore_hosts 'api.github.com/users/lapaty/starred' 
end 

и

VCR.configure do |c| 
    ... 
    c.ignore_request do |request| 
    URI(request.uri).uri == 'https://api.github.com/users/lapaty/starred' 
    end 
end  

ответ

1

c.ignore_hosts 'api.github.com/users/lapaty/starred' никогда не будет работать, так как api.github.com/users/lapaty/starred не хозяин.

Для второй вещи, которую вы пробовали, часть URI(request.uri).uri не нужна - вы разбираете строку как uri, а затем получаете строковое представление из этого (что должно дать вам только request.uri). Я думаю, что это должны работы:

VCR.configure do |c| 
    c.ignore_request do |request| 
    request.uri == 'https://api.github.com/users/lapaty/starred' 
    end 
end 

Если это не работает, то это говорит о том, что строка URI не совсем "https://api.github.com/users/lapaty/starred", как вы думаете. Вы можете добавить регистрацию в блоке ignore_request, чтобы узнать, какие запросы выполняются, или вы можете использовать опцию debug_logger, чтобы получить подробное представление о том, что именно делает видеомагнитофон и почему.

+0

большое спасибо, что отлично –

Смежные вопросы