function is_mri {

if ruby -e "exit(!defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby')"; then
  # RUBY_ENGINE only returns 'ruby' on MRI.
  # MRI 1.8.7 lacks the constant but all other rubies have it (including JRuby in 1.8 mode)
  return 0
else
  return 1
fi;

}

function is_ruby_23_plus {

if ruby -e "exit(RUBY_VERSION.to_f >= 2.3)"; then
  return 0
else
  return 1
fi

}

function is_ruby_31_plus {

if ruby -e "exit(RUBY_VERSION.to_f >= 3.1)"; then
  return 0
else
  return 1
fi

}