2013-07-09 34 views
1

我使用webdriver-user-agent輕鬆調整自動瀏覽器的大小,並且它具有可在YAML文件中配置的用戶代理和窗口大小。我想添加到YAML文件中,我想知道做到這一點的最佳方法是什麼。我可能只有我想要使用的補充,所以我排除了Github上的pull請求,並且我不想將它添加到gem的lib目錄下,因爲那樣我升級時就會失去工作寶石。爲我的本地副本擴展了寶石的功能

將其他代碼添加到寶石中的最佳方式是什麼?

+1

這是什麼寶石?答案會根據他們如何加載yaml而有所不同 –

+0

webdriver-user-agent –

回答

2

不幸的是,你正在談論的是將配置添加到gem,這比添加代碼更簡單,但仍然可行。

無論是用來加載它的YAML配置,而是加載你選擇的配置,你都會修改它。看看the source,你可以看到YAML正在加載#devices,文件名來自#devices_file。幸運的是(雖然沒有那麼多的表現),加載YAML沒有緩存,因此只更換#devices_file會做你想要什麼:

require 'webdriver-user-agent' 
module Webdriver 
    module UserAgent 
    module Devices 
     def devices_file 
     File.expand_path("../my-devices.yml", __FILE__) 
     end 
    end 
    end 
end 

這將尋找一個在同一目錄中名爲my-devices.yml文件文件上面的代碼是在(像你的spec_helper.rb或whatnot) - 適當調整。