Class: Referral::EnsuresWorkingRuby

Inherits:
Object
  • Object
show all
Defined in:
lib/referral/ensures_working_ruby.rb

Instance Method Summary collapse

Instance Method Details

#callObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/referral/ensures_working_ruby.rb', line 5

def call
  major, minor = RUBY_VERSION.split(".").map(&:to_i)
  unless major >= 3 || (major == 2 && minor >= 6)
    warn <<-ERROR.gsub(/^ {10}/, "")
      Error: referral must be run with Ruby 2.6 or later, but this is #{RUBY_VERSION}.
             You can often analyze older Ruby code by running this CLI with a newer
             Ruby than the code being inspected.

             Tools like rbenv may help you manage this issue. If you install
             referral into a supported Ruby, you can specify that it be run with
             an environment variable, even if the current directory is locked
             to an older version of Ruby. Just specify the Ruby you want to use:

             RBENV_VERSION=2.6.3 referral

    ERROR
    raise Referral::Error.new(
      "Unsupported Ruby version (expected 2.6.0 or later, was #{RUBY_VERSION}"
    )
  end
end