When a Rails controller action should handle both HTML and JSON responses, do not use request.xhr? to decide that. Use...
I recently had fun with replacing a custom video plattform ("mycustomtv") in one of our applications. I learned a lot...
Generating a project README Finally: Support for modelling associations between models in your application model! Example: # lib/katapult/application_model.rb
Understanding your type of cronjob Some cronjobs must only run on a single server. E.g. when you run nightly batch...
When you have a pending Cucumber step (or feature) that also uses an existing VCR cassette, your pending test may...
Katapult 0.3.0 brings Rails 5 and Ruby 2.5 support with a new design, plus a ton of smaller features, fixes...
Enumerable#all? returns true for an empty collection. This totally makes sense but you have to think about it when...
This cucumber step is useful for testing an image (looking at the src of the image). Then(/^I should see...
ActiveSupport::Dependencies takes care of auto-loading any classes in development. This is usually useful, but when you run into...
TL;DR Use user.update!(remove_avatar: true) to delete attachments outside of forms. This will have the same behavior as...
To check which elements an ActiveRecord relation contains use the contain_exactly matcher. describe User do let!(:admin) { create(:user...
This is a small example on how you can check if your Postgres index can be used by a specific...
The issue: You are using stub_const to change a constant value for your test. stub_const "SomeClass::CONST", 'test...
This error is raised because your old database does not have a configured environment yet, which Rails 5 enforces.
Rails applications and ruby gems should have a README that gives the reader a quick overview of the project. Its...
When making requests using curl, no cookies are sent or stored by default. However, you can tell curl to re...
You should avoid using application models in your migrations. But how else could you create records in a migration?
wrap the text with a span use line-height for the spacing between lines ("margin")
Situation: You want to write a spec for a function inside an Angular service. This function at some point makes...
If you try to listen to events on elements that are nested inside a , Firefox will stop event propagation once...
By default, browsers will not wrap text at syllable boundaries. Text is wrapped at word boundaries only. This card explains...
HTTPie consists of a single http command designed for painless debugging and interaction with HTTP servers, RESTful APIs, and web...
PostgreSQL's Common Table Expressions (CTEs) can be used to extract sub-queries from bulky SQL statements into a temporary...
PostgreSQL supports the SQL OVERLAPS operator. You can use it to test if two date ranges overlap: => SELECT ('2001-02...