“...I've been working since 2008 with Ruby / Ruby on Rails, love a bit of Elixir / Phoenix and learning Rust. I also poke through other people's code and make PRs for OpenSource Ruby projects that sometimes make it. Currently working for InPay...”

Rob Lacey
Senior Software Engineer, UK

Eliminate annoying errors...grrr

DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.
https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors
 (called from block (2 levels) in <class:Railtie> at /Users/rl/.rvm/gems/ruby-2.3.0@themadkatter/gems/sass-rails-5.0.4/lib/sass/rails/railtie.rb:57)

Solution: https://github.com/rails/sass-rails/issues/381

Edit Gemfile.lock

...
gem 'thor', '3.6.3'
...

Then bundle update

Robs-MBP:iplayred rl$ bundle update sprockets
Fetching source index from http://gems.github.com/
Fetching source index from https://rubygems.org/
Resolving dependencies......
...
Fetching sprockets 3.6.3 (was 3.7.1)
Installing sprockets 3.6.3 (was 3.7.1)
...
Bundler attempted to update sprockets but its version regressed from 3.7.1 to 3.6.3
Bundle updated!
Expected string default value for '--rc'; got false (boolean)
Rails 4.2.7.1

Apparently this is because of a change in the thor gem https://stackoverflow.com/questions/40881938/new-ruby-on-rails-setup-expected-string-default-value-for-rc-got-false

Robs-MBP:iplayred rl$ cat Gemfile.lock | grep thor
    railties (4.2.7.1)
      actionpack (= 4.2.7.1)
      activesupport (= 4.2.7.1)
      rake (>= 0.8.7)
      thor (>= 0.18.1, < 2.0)

Looks like I need to downgrade to 0.19.1.

Edit Gemfile.lock

...
gem 'thor', '0.19.1'
...

Then bundle update

Robs-MBP:iplayred rl$ bundle update thor
Fetching source index from http://gems.github.com/
Fetching source index from https://rubygems.org/
Resolving dependencies......
...
Using thor 0.19.1 (was 0.19.4)
...
Bundler attempted to update thor but its version regressed from 0.19.4 to 0.19.1
Bundle updated!
Robs-MBP:iplayred rl$ rails version
Looks like your app's ./bin/rails is a stub that was generated by Bundler.

In Rails 4, your app's bin/ directory contains executables that are versioned
like any other source code, rather than stubs that are generated on demand.

Here's how to upgrade:

  bundle config --delete bin    # Turn off Bundler's stub generator
  rake rails:update:bin         # Use the new Rails 4 executables
  git add bin                   # Add bin/ to source control

You may need to remove bin/ from your .gitignore as well.

When you install a gem whose executable you want to use in your app,
generate it and add it to source control:

  bundle binstubs some-gem-name
  git add bin/new-executable

Rails 4.2.7.1

Bin stubs

Robs-MBP:iplayred rl$ rails c
Looks like your app's ./bin/rails is a stub that was generated by Bundler.

In Rails 4, your app's bin/ directory contains executables that are versioned
like any other source code, rather than stubs that are generated on demand.

Here's how to upgrade:

  bundle config --delete bin    # Turn off Bundler's stub generator
  rake rails:update:bin         # Use the new Rails 4 executables
  git add bin                   # Add bin/ to source control

You may need to remove bin/ from your .gitignore as well.

When you install a gem whose executable you want to use in your app,
generate it and add it to source control:

  bundle binstubs some-gem-name
  git add bin/new-executable
GPK of the Day Charred CHAD