Sha256: 5cfd8de9753d0c201562edca2376825ed62971da05b29e195dab76fd3d2bbd91
Contents?: true
Size: 1.75 KB
Versions: 2
Compression:
Stored size: 1.75 KB
Contents
define :ruby do version = params[:version] home_dir = params[:home] ruby_dir = "#{home_dir}/#{version}" ruby_build_dir = "#{home_dir}/ruby-build" rubygems = params[:rubygems] owner = params[:owner] bin_dir = "#{ruby_dir}/bin" ruby_bin = "#{bin_dir}/ruby" gem_bin = "#{bin_dir}/gem" if params[:exports] hash = params[:exports].inject(node.set){|memo, step| memo[step] } hash['ruby_computed'] = { 'ruby_dir' => ruby_dir, 'bin_dir' => bin_dir, 'gem_bin' => gem_bin, 'ruby_bin' => ruby_bin, } end git ruby_build_dir do repository "https://github.com/sstephenson/ruby-build.git" reference "master" action :sync user owner group owner end execute "install ruby #{ruby_dir}" do command "#{ruby_build_dir}/bin/ruby-build #{version} #{ruby_dir}" user owner group owner not_if { File.exists?(ruby_dir) } end profile_file = "#{home_dir}/.bashrc" ruby_block "append ruby path #{ruby_dir}" do path_definition = "export PATH=$HOME/#{version}/bin:$PATH" block do original_content = File.open(profile_file, 'r').read File.open(profile_file, 'w') do |f| f.puts "# Generated by chef" f.puts path_definition f.puts original_content end end not_if { File.read(profile_file).include?(path_definition) } end if rubygems execute "install rubygems - #{bin_dir}" do user owner cwd home_dir command "#{bin_dir}/gem update --system #{rubygems}" not_if %Q{test $(#{bin_dir}/gem --version) = "#{rubygems}"} end end execute "#{bin_dir}/gem install bundler --no-ri --no-rdoc" do user owner not_if "#{bin_dir}/gem list | grep -q bundler" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
m2r-2.1.0 | kitchen/cookbooks/ruby-build/definitions/ruby.rb |
m2r-2.1.0.pre | kitchen/cookbooks/ruby-build/definitions/ruby.rb |