diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-08-15 18:53:51 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-08-17 17:08:51 +0900 |
commit | 09455301ef81bc6207e6d3ba1034c35851575e18 (patch) | |
tree | 07f53ec69dc470f49b0386713d726b4f1e647c24 /spec/bundler/support/path.rb | |
parent | 20c5154f0b79faf83c9c889f12da7da1ba9d6eb1 (diff) |
[bundler/bundler] Extract a `with_root_gemspec` helper
https://github.com/bundler/bundler/commit/f20c2bdf6a
Diffstat (limited to 'spec/bundler/support/path.rb')
-rw-r--r-- | spec/bundler/support/path.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/bundler/support/path.rb b/spec/bundler/support/path.rb index 3b18cd2da8..38d8ff8102 100644 --- a/spec/bundler/support/path.rb +++ b/spec/bundler/support/path.rb @@ -132,6 +132,18 @@ module Spec tmp "tmpdir", *args end + def with_root_gemspec + if ruby_core? + spec = Gem::Specification.load(gemspec.to_s) + spec.bindir = "libexec" + File.open(root.join("bundler.gemspec").to_s, "w") {|f| f.write spec.to_ruby } + yield(root.join("bundler.gemspec")) + FileUtils.rm(root.join("bundler.gemspec")) + else + yield(gemspec) + end + end + def ruby_core? # avoid to wornings @ruby_core ||= nil |