Documenting a weekend experiment with codex /goal command, using superplanning for initial planning and fizzy cli skill for task management. A straightforward workflow for imple...
Documenting a weekend experiment with codex /goal command, using superplanning for initial planning and fizzy cli skill for task management. A straightforward workflow for imple...
Capture the session state before compaction and restores it after. Not a summary. A structured handoff document that any session, agent, or person ca
Automate Rails upgrades with superpowers-ruby v6.1.0 — the rails-upgrade skill enforces green test suites, resolves defaults, and requires explicit ap
superpowers-ruby v5.0.6 adds a Compound Skill adapted from compound-engineering-plugin to capture reusable Rails solutions in docs/solutions and prese
Three new RuboCop style cops in v1.85.0: SelectByKind, SelectByRange, PartitionInsteadOfDoubleSelect: why to enable them and how auto-correct simpli
Add RuboCop MCP to Claude Code and OpenCode—enable AI editors to call RuboCop via the Model Context Protocol for structured inspections and
OpenCode uses RuboCop's LSP (rubocop --lsp) for Ruby—auto-detecting projects and installing RuboCop safely without touching your Gemfile.
Enable the Ruby LSP plugin in Claude Code/OpenCode to get hover info, go-to-definition, and project-wide symbol search. Quick
Discover essential Ruby gems for AI agent tooling, offering configurations, parsing, and skill management for improved developer experience
Avoid using `let!` in RSpec tests and discover alternative approaches to increase test readability and debugging
Learn how to effectively use Ruby's pattern matching to locate elements within a hash array and handle exceptions
Ruby on Rails uses `psych` for YAML locale processing that will load Yes/No, On/Off as booleans
Learn how to avoid pitfalls in time comparisons in tests using the iso8601 method for consistency and reliability
Use Ruby getter methods over instance variables for clearer errors and easier debugging
Learn to create Ruby Data classes using block syntax and inheritance, and understand their differences and use cases
See examples of using Ruby's Data class for creating value objects, removing boilerplate code, and enhancing API response handling
Learn how to review and manage monkey patches when updating Ruby gems to ensure consistent functionality and maintain code quality
Weekly updates on Ruby, including new articles and recommendations on blogging, method overriding, and returning multiple values in Ruby
Learn how to return multiple values from a Ruby method using the Data.define class for improved code clarity and maintainability
Discover how to override a class or instance method without editing its source file in Ruby on Rails.
Ruby newsletter, Neovim fixes, tutorials, testing insights, podcasting, and deals to for Ruby developers
Create subtle pulsating animations using Tailwind for enhanced menu item visibility. Learn how to build reusable UI components with Phlex
Weekly writings on Ruby: newsletters, pattern matching, best practices in testing, and more
What I published this week about Ruby: newsletters, contributions, and scripts
Discover top online directories to list companies utilizing Ruby or Ruby on Rails and get more visible in the Ruby community
Proposal to reopen discussion on making the `private` method work on constants in Ruby for better code simplicity and consistency
Join Friendly.rb in Bucharest, September 2024 for Ruby talks, networking, and fun activities. Don't miss this Ruby conference!
Learn about hash value omission in Ruby, their benefits, examples, and implementation guidelines for more concise code
Explore refactoring Rails transaction blocks with the endless method. Pros and cons, examples from Maybe and Mastodon, and community feedback
Quick introduction to the endless method in Ruby, exploring use cases and potential impacts on code structure
Learn how to add a code snippet for adding binding.break in RubyMine and Visual Studio Code
Compare `Data.define`, `Struct`, `OpenStruct` in Ruby: object creation and accessing attributes
Explore the evolution of Ruby's endless method syntax: its origins, proposals, and the innovative solution for concise, single-expression methods
How to fix the splat arguments error when using Sorbet and simplify code
Efficient email courses tech stack: Ruby, Rails, SQLite, litestack, Avo, Tailwind, ERBs, Phlex, Minitest, Sitepress, Debug, Propshaft, Hotwire, direnv...
Configure Rails app using automated quality checks, security audits, and best practices for maintainability and consistency in solo or side projects
Explore Ruby method definitions with IRB using source_location, show_source, and ls commands.
Discover Ruby syntax evolving since 2.7
Discover Ruby 3.3's `it` default block param warning, its impact on RSpec, and how to fix potential conflicts. Learn more in my video or article.
Explore Mastodon, an open-source, federated social network prioritizing privacy and freedom of expression, built with Ruby, Rails, React, and Redux
While preparing my article for the series that I started about Open Source Ruby, I found an example of code that I think could benefit from using the endless method. Here is a v...
Optimize Rails code parsing gem lists using ChatGPT & RubyMine AI. Compare AI suggestions to improve readability, efficiency, and maintainability.
Explore Feedbin, an open-source Ruby on Rails platform combining RSS feeds with newsletters so that you can enjoy content on web
Explore inspiring Ruby on Rails projects for businesses, like SaaS, event management, and legal solutions, to unleash your creativity
Explore Chatwoot, an open-source Ruby suite competing with Intercom, Zendesk, Salesforce; boost customer support efficiently
Analyze Ruby Gems download trends (2013-2023), showing rapid growth from 2019, likely linked to CI/CD adoption and Ruby's rising popularity
Explore Zammad: open-source Ruby ticketing system with cloud, custom styling, multiple databases, and service objects on Ruby 3.1.3, Rails 7
Use ActiveRecord::Suppressor, conditional callbacks, or patch ApplicationRecord to skip Rails callbacks.
Compare ChatGPT & Github Copilot's methods for creating custom Tailwind width classes with golden ratio; evaluate effectiveness and accuracy
Explore the question: Where is a method defined in Ruby when not defined inside an object?
Discover Ruby on Rails scalability with ArchiveOfOurOwn.org, a high-traffic web app boasting 6 million users and 311 million monthly visits
How to create a new rails app running Rails 7.1 beta1
Utilizing Cursor IDE and GPT-4 for logo placement, spacing adjustment, equal column height, and group hover element display.
How to use Cursor IDE to generate for Ruby on Rails apps: examples of prompts, responses and improvements
2023 Stack Overflow Survey: Ruby's growth, increased professional use, 4th highest-paid tech, beginner-friendly approaches
Discover beginner Ruby & Rails projects: Meal Planner, Lists Share, Habit & Symptom Trackers, SWOT Analysis; learn by problem-solving
Explore Ruby's pass-by-value approach, enabling object modification without altering original references, which is essential for efficient object handling
I asked the following query for multiple AI code generator tools: Please transform this code: ```
Investigate Ruby range literals in Rails Active Record queries, comparing SQL generation for inclusive/exclusive ranges
If you browse one of the latest editions of Short Ruby News, you will notice that each one has a Community section and that is the first section of the newsletter. Here is a sho...
Grow Ruby community with diverse content, shared experiences, and coding styles. Creating additional technical material aids in expanding the Ruby community
Use a personal blog for technical content to ensure resilience, avoid platform dependency, and prevent account suspension
Look at your code and identify any areas where you can improve. Refactoring isn't about fixing bugs but improving your code's readability, efficiency, and maintainability. Look ...
Whenever you open a piece of code try to find a place where you can describe how that class or that feature can be used by fellow developers. Focus on usage examples or use case...
Practical ideas about how to stay up to date with the newest Ruby and Rails features while also working on your projects.
Today I wanted to achieve the following: Change the key for the parent resource when accessed in the nested resources # instead of /collections/:collection_id/entries # wanted ...
What is method gravity? What I call Method Gravity means for me: The bigger the method the more new lines of code will be added to it. I noticed this while working on various ...
A bit of (personal) history I learned Ruby, I think, around 2007, and back then, it was a language pushing boundaries for me. Before encountering Ruby, I worked with Java, C/C++...
This is primarily a response to a Reddit comment but I have encountered this line of pushback against short-hand syntax multiple times. Thus I think it is good to write it down ...
I like to use as much as possible the new features in Ruby. In this case, I will show how to take advantage of shorthand hash syntax whileThe on changing from instance variables...
When thinking about testing, consider the following points: You are not writing tests only for yourself but also for other developers who might join your project. They might co...
If you want to freeze strings in Ruby there are at least two ways to do this: 1) Adding the magic comment at the beginning of the file # frozen_string_literal: true 2) Calling ...
How to get the class name To get the class name: class User def call = puts self.class.name end User.new.call #=> User This will work even if the name is namespace inside a m...
Rails 7 introduced a new way to create enums in PostgreSQL, by adding create_enum method. See official documentation here. I will explore the following tasks: Creating an enum ...
I will try to explain what a class is in some other way, somehow quoting or paraphrasing in some parts what @steveklabnik said a very long time ago in a presentation about OOP i...
I think learning Ruby has three parts: OOP + SOLID in Ruby Ruby Syntax Idiomatic Ruby What follows assumes you already know how to program in any other programming language...
I shared this first as a thread on Twitter but I think I want to document it also here: https://twitter.com/lucianghinda/status/1518594459189104640 Courses and Trainings https...
How do these things work? Have you ever wondered how the following code works? Specifically, how come the key will have another value than true or false. key = loaded_key || Ke...
Context You want to update the same column for multiple records in one query and set different values for each record. Example: class Car < ActiveRecord::Base # has attributes: ...
I was inspired to write this article by a question asked by Adrian Marin in the Twitter Ruby on Rails community and the responses I read there. https://twitter.com/adrianthedev/...
Context Let's say that you have two array of hashes: a = [ { initial: "a", email: "a@example.com" }, { email: "b@example.com", initial: "b" }, { ...
Context You have a column in your table that is used as an array , like this: t.string 'ids', array: true And you want to select all records that have more than N elements i...
This is more like general advice, but when possible minimize dependencies. I will write the following examples with Ruby gems in mind but could be used in any other programming...
Context You have an array of hashes and want to check if all elements are satisfying a condition. TIL You might want to do this in Ruby: objects.all? { _1[:amount] > 10 } In th...
Quick tip about how to create a new rails project with a pre-release version of rails
If you update your Dockerfile to use ruby:3.0.3-alpine and notice the following error while building the image: ERROR: While executing gem ... (Gem::FilePermissionError) Y...
Working with DateTime or Time and timezones can be sometimes confusing. Here are some guidelines that I defined while working with dates/times. They are working well in Rails (...
Here is how to open rails console in safe mode on GCP k8s. First you need to list the pods: kubectl get pods | grep replace with the name of the pod that you want to connect...
Using Concurrent::Promises and rescuing exceptions