Module: Mimas::Server::Ruby

Included in:
Mimas::Server
Defined in:
lib/mimas/server/ruby.rb

Instance Method Summary collapse

Instance Method Details

#install_ruby(version: Config.current.ruby_version) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/mimas/server/ruby.rb', line 16

def install_ruby(version: Config.current.ruby_version)
  ssh(self) do |session|
    current_ruby = session.run "/usr/bin/env bash -lc 'which ruby'", capture: true, silent: true

    if current_ruby != ""
      ruby_grep = session.run "/usr/bin/env bash -lc 'chruby' | grep #{version}", capture: true, silent: true
      if ruby_grep.size > 0
        return say "Ruby #{version} is already installed!"
      end
    end

    session.run "ruby-install --no-install-deps --cleanup #{version} -- --enable-yjit --with-jemalloc --disable-install-rdoc"
    session.run "echo '#{version}' > ~/.ruby-version"

    if current_ruby == ""
      session.script("configure_ruby")
    end
  end
end

#install_ruby_prerequisites(sudo_user:) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/mimas/server/ruby.rb', line 4

def install_ruby_prerequisites(sudo_user:)
  ssh(self, user: sudo_user) do |session|
    prerequisites = Prerequisites.for_ruby + Prerequisites.utilities
    prerequisites = prerequisites.join(" ")

    session.script("install_ruby_prerequisites",
      sudo: true,
      vars: { PREREQUISITES: "'#{prerequisites}'" }
    )
  end
end