我使用webdriver-user-agent轻松调整自动浏览器的大小,并且它具有可在YAML文件中配置的用户代理和窗口大小。我想添加到YAML文件,我想知道最好的方法是什么。我可能只有我想要使用的附加内容,所以我在Github上排除了一个pull请求,我不想在gem的lib目录下添加它,因为当我升级时我会失去工作宝石。
向gem添加其他代码的最佳方法是什么?
答案 0 :(得分:2)
不幸的是,你在谈论将配置添加到gem中,这比添加代码要容易,但仍然可行。
你将使用gem来用来加载其YAML配置而不是加载你选择的配置。查看the source,您可以看到#devices
正在加载YAML,文件名来自#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) - 适当调整。