Below is every step I took to get Ruby (and Ruby on rails) installed on a vanilla install of Ubuntu 17.10.

First download and install rbenv and rbenv-build and get them set up in your bash profile.

$ sudo apt-get install git
$ git clone git:// .rbenv
$ cd ~/.rbenv && src/configure && make -C src
$ cd ..
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ git clone git:// ~/.rbenv/plugins/ruby-build
$ source ~/.bashrc

NOTE: If you are using Debian instead of Ubuntu then it would be .bash_profile instead of .bashrc

Next we install the remaining requirements for Ruby.

$ sudo apt-get install build-essential
$ sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
$ rbenv install 2.4.3
$ rbenv global 2.4.3
$ ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]

NOTE: instead of global you could use local instead.

Then you can check everything is installed OK using the rbenv-doctor script.

$ sudo apt install curl
$ curl -fsSL | bash
Checking for `rbenv' in PATH: /home/dean/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/dean/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20171226-3-g01e7b7b)
Counting installed Ruby versions: 1 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK

Now update gems and install bundler.

$ gem update
$ gem install bundler

If you are planning on doing some web development and want to install rails, then we need to install a few dependencies first.

$ sudo apt-get install sqlite3 libsqlite3-dev
$ gem install rails -v 5.1.4
$ mkdir rails_projects
$ cd rails_projects
$ rails _5.1.4_ new hello_app

In order to actually run the rails server for a project that has the uglifier gem installed then we also need to install a JavaScript runtime such as nodejs

$ sudo apt-get install nodejs
$ rails server
=> Booting Puma
=> Rails 5.1.4 application starting in development 
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.9.1 (ruby 2.4.3-p205), codename: Private Caller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://
Use Ctrl-C to stop