Podchaser Logo
Home
Episode 163 - Rails 6 Beta Features

Episode 163 - Rails 6 Beta Features

Released Friday, 12th April 2019
Good episode? Give it some love!
Episode 163 - Rails 6 Beta Features

Episode 163 - Rails 6 Beta Features

Episode 163 - Rails 6 Beta Features

Episode 163 - Rails 6 Beta Features

Friday, 12th April 2019
Good episode? Give it some love!
Rate Episode

April 30: Final release. Ship and celebrate the release of Rails 6.0 at RailsConf 2019!
Rails 6.0 will require Ruby 2.5+

Action Mailbox
Action Mailbox allows you to route incoming emails to controller-like mailboxes.
ActiveStorage is required. Simple setup with:

$ rails action_mailbox:install
$ rails db:migrate

Like the Mailman gem https://github.com/mailman/mailman

Action Text
Action Text brings rich text content and editing to Rails. It includes the Trix editor that handles everything from formatting to links to quotes to lists to embedded images and galleries. The rich text content generated by the Trix editor is saved in its own RichText model that's associated with any existing Active Record model in the application. Any embedded images (or other attachments) are automatically stored using Active Storage and associated with the included RichText model.

Simple install with rails action_text:install and running some migrations that are generated from the command.

Parallel Testing
Parallel Testing allows you to parallelize your test suite. While forking processes is the default method, threading is supported as well. Running tests in parallel reduces the time it takes your entire test suite to run.

Action Cable Testing
Action Cable testing tools allow you to test your Action Cable functionality at any level: connections, channels, broadcasts.

Multiple Database Support!!
Thanks Eileen M. Uchitelle! Ported from GitHub into Rails.

follow_redirect can include additional arguments
Pass along arguments to underlying GET method in #follow_redirect!
It’s possible to pass parameters to the underlying GET request in a follow_redirect! by adding an additional arguments to the method.

Add allocations to template rendering instrumentation
ActionView now outputs object allocations to the console to help you with your performance monitoring

File uploads behave how you expect now with ActiveStorage
Uploaded files assigned to a record are persisted to storage when the record is saved instead of immediately
In rails 5.2 files were persisted immediately when assigned, rather than when save was called.

ImageProcessing Gem to be used over MiniMagick
se the ImageProcessing gem for Active Storage variants, and deprecate the MiniMagick backend
ImageProcessing support some better macros such as :resize_to_fit, :resize_to_fill and also has built in libvips which is in an alternative to ImageMagick.

The change is also easily configurable using the usual Rails configuration

Rails.application.config.active_storage.variant_processor = :vips

Zeitwerk
Zeitwerk is a new code loader for Ruby. It is efficient, thread-safe, and matches Ruby semantics for constants.

Given a conventional file structure, Zeitwerk loads your project’s classes and modules on demand meaning you don’t need to write require calls for your own files.

To enable it in Rails 6, simply set

config.autoloader == :zeitwerk

Filtering sensitive parameters
If you’re dealing with sensitive data you want to hide from logs, console etc. you can configure ActiveRecord::Base::filter_attributes with a list of String and RegExp which match sensitive attributes.

Railties

  • Add an explicit option --using or -u for specifying the server for the rails server command. Eg: rails server -u puma
  • Add ability to see the output of rails routes in expanded format.
  • Run the seed database task using inline Active Job adapter.
  • Add a command rails db:system:change to change the database of the application. (eg sqlite to postgres, MAGIC)
  • Add rails test:channels command to test only Action Cable channels.
  • Introduce guard against DNS rebinding attacks.
  • Add ability to abort on failure while running generator commands.
  • Make Webpacker the default JavaScript compiler for Rails 6.
  • Add multiple database support for rails db:migrate:status command.
  • Add ability to use different migration paths from multiple databases in the generators.
  • Add support for multi environment credentials.
  • Make null_store as default cache store in test environment.

Notes: https://edgeguides.rubyonrails.org/6_0_release_notes.html, https://medium.com/rubyinside/whats-coming-to-rails-6-0-8ec79eea66da, https://drivy.engineering/rails-6-unnoticed-features/

Software
Dropbox (backup and sync software) - https://db.tt/l33vnUkr6L
Dashlane (password storage) - https://www.dashlane.com/en/cs/_FHtTXN3Rkdg

Podcast Gear
Blue Yeti USB Microphone (Silver) - http://amzn.to/2BjKEh9
Blue Yeti USB Microphone (Blackout Edition) - http://amzn.to/2By4byE
Premium 6-inch Pop Filter For Blue Yeti Microphone by Auphonix - http://amzn.to/2DtK2aq

Video Gear
Canon PowerShot G7 X Mark II Digital Camera w/ 1 Inch Sensor and tilt LCD screen - Wi-Fi & NFC Enabled (Black) - http://amzn.to/2Bwd0ZK
Rode smartLav+ Lavalier Microphone for iPhone and Smartphones - http://amzn.to/2Dtt38f
JOBY GorillaPod 3K Kit. Compact Tripod 3K Stand and Ballhead 3K for Compact Mirrorless Cameras or devices up to 3K (6.6lbs). Black/Charcoal. - http://amzn.to/2BOh44L

Computer Gear
Logitech G502 Proteus Core Tunable Gaming Mouse - http://amzn.to/2BYuH3O
Anker PowerCore 10000, One of the Smallest and Lightest 10000mAh External Batteries - http://amzn.to/2CVMohk
Seagate Backup Plus Slim 2TB Portable External Hard Drive - http://amzn.to/2Dr98GL

Recommended Gear
STM Impulse, Backpack for 15-Inch Laptop and Tablet - Black (stm-111-024P-01) - http://amzn.to/2CUxRm3
Bose QuietComfort 35 (Series I) Wireless Headphones, Noise Cancelling - Black (updated and wireless version) - http://amzn.to/2BN3yy0

Other Gear
Kogan - https://www.kogan.com/au/r/TX4FTG/

Show More
Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features