gpt4 book ai didi

ruby-on-rails - gem 的基本/主目录

转载 作者:数据小太阳 更新时间:2023-10-29 08:06:09 25 4
gpt4 key购买 nike

作为 RSpec 的一部分,我需要引用一个包含在我所依赖的 gem 中的文件(称之为 gem foo)。我控制 gem foo,所以我可以根据需要对其进行更改。

Gem 'foo' 包含一个我需要在 rspec 规范中引用的文件。 是否有相当稳定的 RubyGem 或 Bundler API 来确定“foo”基目录?

假设我的 Gemfile 中已经需要“foo”:在 Gemfile 中:

gem 'foo'

我想做这样的事情(在 something_spec.rb 中):

filename = File.expand_path('examples/xml/result.xml', Gem.gem_base_path('foo'))

什么是 gem_base_path API 调用?

最佳答案

我建议在您的 gem 中创建一个函数来执行此操作:

module Foo
class Configuration
def self.result_xml_path
File.realpath("../examples/xml/result.xml")
end
end
end

然后您可以在规范中执行以下操作:

filename = Foo::Configuration.result_xml_path

这要安全得多,因为您是从 gem 获取所有信息的。它看起来也更干净。

关于ruby-on-rails - gem 的基本/主目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com