lib/dockdev/context/rubygems.rb in dockdev-0.3.2 vs lib/dockdev/context/rubygems.rb in dockdev-0.3.3

- old
+ new

@@ -23,24 +23,35 @@ def process_mount(mount_hash, dir_inside_docker = "/opt") if not mount_hash.nil? and mount_hash.is_a?(Hash) + script = ["#!/bin/bash"] + script << "alias be > /dev/null 2>&1 && echo 'alias be=bundle exec' >> ~/.bashrc" + # # looking at source code # https://github.com/rubygems/rubygems/blob/master/bundler/lib/bundler/shared_helpers.rb#L246 # seems this is the way to set root for Bundler # ENV['BUNDLE_GEMFILE'] = find_gemfile.first Bundler.load.dependencies.each do |d| if not d.source.nil? src = d.source if src.path.to_s != "." - mount_hash[src.path.expand_path.to_s] = File.join(dir_inside_docker, d.name) + pathInsideDocker = File.join(dir_inside_docker, d.name) + mount_hash[src.path.expand_path.to_s] = pathInsideDocker + script << "bundle config --global local.#{d.name} #{pathInsideDocker}" #res[d.name] = src.path.expand_path.to_s end end end + + scriptOut = File.join(@path,"to_be_executed_inside_docker.sh") + File.open(scriptOut,"w") do |f| + f.write script.join("\n") + end + `chmod +x #{scriptOut}` end mount_hash end