ActiveType::Object inherits from ActiveRecod::Base and is designed to behave like an ActiveRecord Object, just without the database...
Unpoly's [up-observe], [up-autosubmit] and [up-validate] as well as their programmatic variants up.observe() and up.autosubmit...
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 In RubyMine you can use find and replace with capture groups (.*?) and backreferences $1 (if you have several...
Ruby's standard library includes a class for creating temporary directories. Similar to Tempfile it creates a unique directory name...
To allow HTTP 304 responses, Rails offers the fresh_when method for controllers. The most common way is to pass...
Greg Molnar has written a neat article about creating a single-file Rails app. This is not meant for production...
You can use the code below to check whether the browser can make connections to the current site: await isOnline...
When changing code in mailers, updating the corresponding mailer preview can be forgotten very easily. Mailer previews can be tested...
Testing file download links in an end-to-end test can be painful, especially with Selenium. The attached download_helpers.rb provides...
While verifying doubles in RSpec is a good default, it is limited in the amount of methods it actually is...
There is a way to use multiple databases in Rails. You may have asked yourself how you're able to...
You can use Unpoly's up.on with a named listener function and immediately unbind this event listener with { once: true...
Due to the way we setup Jasmine tests in our projects, you may run into various errors when Jasmine boots...
When the order matters: expect(array1).toEqual(array2) Regardless of order: expect(array1).toEqual(jasmine.arrayWithExactContents(array2)) Ignoring extra elements:
Redis.current will be removed without replacement in redis-rb 5.0. Version 4.6.0 adds deprecation warnings for Redis.current and Redis.current=: `Redis.current...
While we are used to run our JavaScript tests on a test page within our Browser, it's also possible...
I recently was in a weird situation where my (Jest/CLI) tests were referencing a function that was no longer part...
RSpec's let allows you to super into "outside" definitions, in parent contexts. Example: describe '#save' do subject { described_class.new(attributes...
To ensure a consistent code style for JavaScript code, we use ESLint. The workflow is similar to integrating rubocop...
This are the steps I needed to do to add esbuild to an application that used the vanilla rails asset...
Building application assets with esbuild is the new way to do it, and it's great, especially in combination with...
Attaching files to a field that is handled by Carrierwave uploaders (or maybe any other attachment solution for Rails) in...