RSpecの一部として、私は宝石に含まれるファイルを参照する必要があります(gem fooと呼んでいます)。私はgem fooを制御するので、必要に応じて変更することができます。宝石のベース/ホームディレクトリ
gem 'foo'には、rspec仕様で参照する必要のあるファイルが含まれています。 'foo'のベースディレクトリを把握するためのRubyGem APIまたはBundler APIが適度に安定していますか? 'foo' を仮定し
は、すでに私のGemfileに必要とされています。Gemfileで :
gem 'foo'
私は(something_spec.rbで)このような何かをしたい:
filename = File.expand_path('examples/xml/result.xml', Gem.gem_base_path('foo'))
gem_base_path APIコールとは何ですか?
私はターゲットのGemにメソッドを追加するのが好きです。疑わしいFile.realpathは 'File.expand_path(" ../examples/xml/ result.xml "、__FILE __)'でなければなりません。ターゲットの宝石を変更せずにこれを行う方法はありますか? –
あなたの質問が分かりません。あなたは明確にしていただけますか? File.realpath "シンボリックリンクや無駄なドットを含んでいない実際のファイルシステムのパス名の実際の(絶対)パス名を返します"ので、相対パスを気にせずに使用できるはずです。 –
'File#realpath'のように2つの引数をとります.2番目の引数を指定しないと、現在の作業ディレクトリに対する結果が返されます。実行するファイルが格納されているディレクトリに対する相対パスを返すことです。 –