Three Rubyists having conversations and interviewing others about Ruby and web development.

Rails 7.1 Is Gonna Be HUGE

September 22, 2023 0:47:57 92.08 MB Downloads: 0

In today’s episode, Jason, Chris, and Andrew embark on some lively and humorous discussions about Bitcoin-inspired trucks, to practical insights on Rails 7.1 features, they explore security concepts, gas fees, Amsterdam travel plans, and much more. They dive into interesting developments like common table expressions, token generation in Rails 7.1, and the intriguing Bun package manager’s potential impact on Node. Chris also shares valuable insights into Stripe’s address element, Paddle as a Stripe alternative, and the complexities of handling taxes and chargebacks.  Hit download now for more “Bun” stuff!


[00:00:12] Our conversation starts with Chris seeing a truck with a BTC logo implying it may be hauling Bitcoins around, prices of gas and gas fees comes up, and the guy’s upcoming trip to Amsterdam, with Jason still having to work on is talk.


[00:03:29] Jason discusses a new feature in Stripe related to payment intents and Chris talks about embedded Stripe checkout and its benefits. 


[00:08:16] Jason mentions the beta release of Rails 7.1 and its new features and Chris discusses his video on Rails 7.1 authentication features and its positive reception. 


[00:11:13] Jason mentions using Rails 7.1 beta and noticing the presence of Docker-related files. Chris discusses Docker commands and the possibility of using “dock rails” as an alias, and he mentions the addition of a health check endpoint in Rails 7.1.


[00:12:24] Chris talks about a new route, rails routes—unused, for finding unused routes, Andrew discusses async queries and their potential impact on rendering, and Chris explains how async queries can be beneficial for parallel processing.  


[00:16:26] Chris mentions a new feature in Rails 7.1 that allows specifying required parameters using a magic comment. We also hear about the benefits of the Trilogy gem, a modern MySQL adapter for Rails, Andrew recalls past issues with installing the MySQL 2 gem, and Chris talks about the improved installation experience for the Trilogy gem.


[00:20:09] Jason asks if Rails 7.1 includes support for TypeScript and Chris mentions that Rails 7.1 has built-in support for common table expressions. Jason talks about the benefits of common table expressions in Rails 7.1 and how they eliminate the need for raw SQL. 


[00:22:50] Chris discusses the new “generates_ token_ for” feature in Rails 7.1, allowing the generation of one-time use tokens without the need for database storage.


[00:24:21] Andrew brings up the “perform_all_later” method in Active Job, which allows multiple jobs to be pushed to the queue at once without running queue callbacks. 

[00:25:01] Jason expresses excitement about JS bundling and how it seamlessly integrates into Rails, making it easier to adopt. 


[00:26:03] We hear about issues related to Rake tasks and the namespace of methods in Rake files. Also, the flexibility of Rails’ asset pipeline and how you can add new tools to the pipeline without major changes.


[00:29:14] Andrew tells Jason why he should use Bun and mentions the improved speed and the historical use of Yarn for asset management in Rails.  Andrew expresses interest in trying out Bun to speed up CI processes, and Chris discusses Bun as a package manager and JavaScript/TypeScript runtime, which aims to replace Node and NPM.


[00:32:35] Chris mentions that Bun aims to be interchangeable with esbuild, making it easier for users to switch between the two. Jason raises the question of whether Bun could eliminate the need for Node on the server.


[00:37:29] The conversation shifts to a Stripe issue related to payment element improvements, and Chris mentions he’ll need to investigate the changes. 


[00:39:50] Chris discusses the Stripe address element and its cost, mentioning that it can used independently or tied to a payment intent, which makes it free because it’s built on the Google Maps Places API. 


[00:41:21] Chris praises Stripe’s Workbench beta, which includes a resizable interface with Stripe shell functionality for API exploration, making development more convenient.


[00:43:44] Chris mentions that Tailwind and Laravel are big users of Paddle, a billing platform that offers an alternative to Stripe, and he discusses the challenges Paddle faced in evolving its product.


[00:44:27] The conversation briefly touches on the complexities of handling taxes, especially when using a merchant of record service, and the thresholds for sales tax collection. 



Panelists:

Jason Charnes

Chris Oliver

Andrew Mason



Sponsor:

Honeybadger



Links:

Jason Charnes Twitter

Chris Oliver Twitter

Andrew Mason Twitter

Introducing Trilogy: a new database adapter for Ruby on Rails

Rails 7.1 Beta 1: Dockerfiles, BYO Authentication, More Async Queries, and more! 

What’s New in Rails 7.1

Paddle

Active Record: generates_token_for

Add Bun support # 49241

Bun