如果找不到寶石,是否有辦法安全地要求寶石寶石,以免引發異常?安全地需要Ruby中的寶石
我要尋找一個解決辦法接近這個:
if require 'hirb'
# do some hirb related stuff
else
# do other stuff
end
我想這確保沒有多餘的寶石都沒有我的部署到生產。
如果找不到寶石,是否有辦法安全地要求寶石寶石,以免引發異常?安全地需要Ruby中的寶石
我要尋找一個解決辦法接近這個:
if require 'hirb'
# do some hirb related stuff
else
# do other stuff
end
我想這確保沒有多餘的寶石都沒有我的部署到生產。
它可能會做這樣的:
begin
require 'hirb'
rescue LoadError => e
puts "could not find hirb"
end
做到這一點,最好的方法是使用打捆,這樣你可以肯定真的會被安裝在你的寶石。
Bundler對它的功能很有幫助,但它並不能幫助我在哪裏進行此項檢查。 – Kostas
好吧,我會使用Kernel.gem然後加載一個寶石,並確保它是一個寶石,而不是其他文件。 – sunkencity
當你不需要什麼東西時,Ruby應該有一個'kind_of_want'命令。 –
'def would_like(gemname,&block);開始;需要gemname;產量;救援LoadError;放入「無法加載#{gemname}」;結束;結束':D – Kostas