summaryrefslogtreecommitdiff
path: root/spec/bundler/support/sudo.rb
blob: 7b9b3927547294bf68a1a2eef01bbab8b8bb23b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

module Spec
  module Sudo
    def self.present?
      @which_sudo ||= Bundler.which("sudo")
    end

    def self.write_safe_config
      File.write(Spec::Path.tmp("gitconfig"), "[safe]\n\tdirectory = #{Spec::Path.git_root}")
    end

    def sudo(cmd)
      raise "sudo not present" unless Sudo.present?
      sys_exec("sudo #{cmd}")
    end

    def chown_system_gems_to_root
      sudo "chown -R root #{system_gem_path}"
    end
  end
end