#687 — January 25, 2024 |
|
Ruby Weekly |
Sinatra 4.0: The Long Standing Ruby Webapp DSL — No official blog post yet, but the changelog has the full details. v4 gains support for Rack 3 (quite a big deal by itself), drops Rack 2 support, and requires Ruby 2.7.8 or higher. Sinatra Contributors |
How (and Why) to Run SQLite in Production — Deploying apps that use SQLite has been generating some buzz recently (we’ve raved about Litestack a few times now) and Stephen is a fan, so he shows how to deploy a Rails app to Hatchbox along with what to do when you want to scale. Rails has been able to use SQLite for many years, but expect to see more of it at scale in 2024. Stephen Margheim |
Elsewhere, Henry Catalini Smith writes about his 'SQLite in production epiphany.' |
Need to Upgrade Rails? Let’s Talk 🚀 — Need an expert? Top-notch engineering teams (from startups to Fortune 500 companies) trust the FastRuby.io team in mission-critical upgrades. Leverage our 30,000+ dev/hs of experience: Get to Ruby 3.3 and Rails 7.1 in weeks with zero downtime 🔥 FastRuby.io Upgrade Services sponsor |
▶ Exploring Campfire, 37signals' New 'Once' Rails App — Famous for building Rails-powered SaaS apps, 37signals is taking some steps into offering single payment, self hosted apps: the first one being a revival of their Campfire chat app. This video takes a quick, independent look at the app (including its code) or you can enjoy DHH’s own video about deploying it. David Kimura |
|
📕 Articles & Tutorials |
A Self-Hosted Observability Stack for Rails Apps? — An introduction to opentelemetry-rails-example, a repo that provides a demo of implementing OpenTelemetry in a Rails app. Michal Kazmierczak |
Migrating from Dokku to Kamal: Scheduling Cron Jobs — Part of a series on moving from Dokku to Kamal for deploying Rails apps generally. Glauco Custódio |
Your 2024 Roadmap: Budgets Shrink, but Scope Doesn’t 😱 — Burst capacity to hit today’s deadlines + strategies for future goals. We set you up for success long after we’re gone. Test Double sponsor |
Using Headless Chrome from Ruby: Conquering Automation with Ferrum — A handy introduction to Ferrum, Ruby’s answer to Puppeteer for remotely controlling a headless Chromium instance cleanly. Alkesh Ghorpade |
Teaching High Performance PostgreSQL for Rails — Not convinced by SQLite? The author of High Performance PostgreSQL for Rails caught up with Kelvin Omereshone to teach him about efficiently working with Postgres in Rails apps, and we all get to benefit too. Andrew Atkinson |
Rails Advanced Routing Constraints — Authorizing requests at the routing layer rather than in the controller is cleaner, if your use case can get away with it. Steve Polito |
Understanding How Rails Environments Work — While you likely have an understanding about how environments work, there are some deeper tidbits covered here, along with some classes you may want to incorporate into other code (We’re looking at you, Akshay Khot |
Using Composite Primary Keys in Rails
|
How to Encode a URL String in Ruby
|
🛠 Code & Tools |
Comma 4.8: Structured CSV Generation for Ruby Objects — Define an output format with a DSL then create CSV from arrays, Active Record objects, etc. Example code. v4.8 adds Ruby 3.2/3.3 and Rails 7.1 support. Marcus Crafter |
nokogiri-diff: Get the Differences Between XML/HTML Docs — A handy extension for the Nokogiri HTML/XML parsing library that provides a Postmodern |
Most Highly Coupled Rails Insights Tool On The Market Today — Scout APM is made for monitoring Ruby apps. Get all the APM insights and support you need from actual Rails engineers. Scout APM sponsor |
Cecil: An Experimental Templating Library for Code — Rather than outputting HTML as many templating engines might, Cecil is focused on generating source code and similar structured data from templates, such as OpenAPI definitions, Mermaid code, state machines, complex types, and test cases. Mike Nicholaides |
telegram-bot-ruby 2.0: A Wrapper for Telegram's Bot API — Telegram is a popular messaging app that’s particularly friendly to bot developers. v2.0 of this wrapper adds Bot API 7.0 support. Alexander Tipugin et al. |
View SimpleCov Test Coverage Inline in VS Code — After generating a test coverage report with SimpleCov, this extension will parse the report and display the coverage inline in the editor. Visual Studio Marketplace |
Yake 1.1: A DSL for Writing AWS Lambda Handlers Rake-Style — It includes the ability to write Sinatra style routes and feels like an idiomatically Ruby-ish way to work with AWS’s serverless platform. Alexander Mancevice |
dsu: A Ruby Tool to Manage Daily Standups — That’s Agile-style daily stand up meetings, not stand-up comedy.. ;-) Gene explains how he uses it in his job. Gene M. Angelo, Jr. |
|