In Rubocop you might notice the cop Style/CaseEquality for e.g. this example: def foo(expected, actual) expected === actual end

Here is a short summary of Cucumber hooks in Ruby taken from https://github.com/cucumber/cucumber-ruby. Note that the BeforeStep is...

It sometimes happen that a database dump, that would want to insert into your development database, does not match the...

simple-form-bootstrap.plataformatec.com.br

Good reference how to build bootstrap forms with simple_form.

If you want to get the path of a file relative to another, you can use the expand_path method...

news.ycombinator.com

This is an extract from the linked article. It shows an approach on how to implement encrypted passwords with the...

In interactive commands, Git allows the user to provide one-letter input with a single key without hitting enter (docs...

When writing some logs to a file, that don't use Ruby's logger utility, it is often useful to...

Here is an example with the --tags option. You need to wrap them inside --cucumber-options option of parallel_cucumber...

Rails middlewares are small code pieces that wrap requests to the application. The first middleware gets passed the request, invokes...

tl;dr Don't forget require 'English' if you use a named global such as $LAST_MATCH_INFO. Otherwise this...

betterspecs.org

betterspecs.org is a documentation on how to write better RSpec tests. Note that there are also other approaches like The...

This seems to be obvious, but you can expect Rake tasks to be called in RSpec. it 'deletes all Users...

makandra dev

Using git fixup helps you to speed up appending changes further back in the git history of your feature branch...

In case you want to use pry with an older version of Ruby, you can try the following configurations.

You can install rubygems 3.0.8 (released on February 18, 2020) to keep all the Gem::Specification#rubyforge_project deprecation warnings...

You can run bundle install in parallel. This might be helpful for development, where you often install many new gems...

millarian.com

In Active Record you can use named bindings in where-conditions. This helps you to make your code more readable...

With puma you can have concurrent requests. There are two concepts on how Puma can handle two incoming requests: Workers...

Chrome allows you to throttle the Network and the CPU. Both settings are useful to measure the performance of you...

To find an input with the type hidden, you need to specify the type hidden: find_field('Some label', type...

tenderlovemaking.com

The linked article has a great explanation how to to deal with string encodings in Ruby. Furthermore you can check...

This is a personal post-mortem analysis of a project that was mainly build to provide a REST API to...

PostgreSQL and ActiveRecord have a good support for storing dynamic attributes (hashes) in columns of type JSONB. But sometimes you...