When an object is created / updated, various callbacks are executed in this order: before_validation after_validation before_save
Bundler so far ignored the version specified under BUNDLED_WITH in the Gemfile.lock. This had two annoying consequences:
TLDR if you define a equality method for a class you must also implement def hash. Ruby has a lot...
Timecop is a great gem to set the current time in tests. However, it is easy to introduce flakyness to...
In a Jasmine spec you want to spy on a function that is imported by the code under test. This...
You have some SVG files you want to use as icons on your website. How would you embed them?
In esbuild, you usually import other files using relative paths: import './some-related-module' import `../../utils/some-utility-module` import `../../../css/some-css.sass` This is totally fine...
tl;dr You should decouple migrations from models by embedding models into the migration. To use STI in this scenario...
As a developer you may have many tools watching your project for changes: Your IDE, Webpack, Guard, etc. This is...
Jasmine specs for the frontend often need some DOM elements to work with. Because creating them is such a common...
If you're frequently switching between projects, you might be annoyed by RubyMines behavior of opening the last project on...
This can happen with a very simple model: class Note has_many :attachments end Everything looks normal: Note.all.to_a.size # => 8 Note.all.ids.size...
Large Rails projects tend to define multiple custom ways to format Dates or DateTimes. This often leads to duplicated format...
sass >= 1.35.0 has the option quietDeps and silenceDeprecations to silence deprecation warnings from dependencies. quietDeps: No deprecation warnings for dependencies...
ActiveType::Object inherits from ActiveRecod::Base and is designed to behave like an ActiveRecord Object, just without the database...
If you're experiencing that your bundle install command fails with an error message like this, rubygems.org might...
tl;dr Since Rails 7+ you can use ComparisonValidator for validations like greater_than, less_than, etc. on dates, numerics...
tl;dr git checkout is the swiss army of git commands. If you prefer a semantically more meaningful command for...
You can use ETags to allow clients to use cached responses, if your application would send the same contents as...
Here are a few common patterns that will probably lead to flaky specs. If you notice them in your specs...
tl;dr git checkout is the swiss army of git commands. If you prefer a semantically more meaningful command for...
New versions of wkhtmltopdf dissallow file:// URLs by default. You can allow them by passing --enable-local-file-access.
You have uncommited changes (you can always check by using git status), which you want to discard.
tl;dr In RubyMine you can use find and replace with capture groups (.*?) and backreferences $1 (if you have several...