Rails 6.0.0 beta1

Nieuw

  • Gereleased op 18 januari
  • Ruby 2.5.0+ 
  • Action Mailbox
    • Inkomende e-mails
    • Amazon SES, Mailgun, Mandrill, Postmark, SendGrid
  • Action Text
    • Rich content editing met Trix
    • Embedded images

Nieuw

  • Multiple database support
  • Parallel testing
    • Eigen database en thread voor workers
  • Webpacker is default
    • CSS en static assets nog via asset pipeline
  • Action Cable
    • Testen verbeterd
    • JS herschreven naar ES6
    • Bescherming tegen DNS rebinding
    • Per-environment credentials

BIJNA

  • Zeitwerk code loader
    • Nieuwe autoloader in beta2
    • Geen require en require_dependency meer

bruikbaar?

  • Start met beta1 in plaats van 5.2.x
  • Basecamp gebruikt het in productie
  • Shopify, GitHub e.a. volgen snel

Updaten maar

  • Ruby 2.6.1 geïnstalleerd
  • Gems action_text verwijderd
  • Geüpgrade naar Rails 6.0.0 beta1
  • Action Text werkt nog steeds, ook na aanpassen van de blob

Meerdere databases

class AnimalsBase < ApplicationRecord
  connects_to database: { writing: :animals, reading: :animals_replica }
end

ActiveRecord::Base.connected_to(handler: :reading) do
  Dog.read_something_from_dog
  ModelInPrimary.do_something_from_model_in_primary
end

 

ParalLel testing

  • Geen tijdsverschil

 

class ActiveSupport::TestCase
  parallelize(workers: 2)
end

 

PARALLEL_WORKERS=15 bin/rails test

 

 

Deprecations

DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead)

 

DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "seq IS NULL, seq ASC". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql().

Peanuts

Made with Slides.com