In Ruby 2.3 you can use <<~ instead of <<- to automatically remove indentation from a HEREDOCs: str = <<~MESSAGE Hello Universe!
The nokogiri gem provides different packages for several platforms. Each platform-specific variant ships pre-built binaries of libxml2, e.g...
E-mails are usually encoded using Quoted Printable. Here is how to decode or encode such strings. You probably know...
Install this gem and stop using bundle exec or even Geordi's handy b. Yay!
When using Sidekiq in your application, you must write thread-safe code. This wiki page also lists gems that are...
This looks like it is safe to use: 2.2.1 :001 > a = b = "hello world" "hello world" 2.2.1 :002 > a
I recommend to go straight to 2.1.5+ without intermediate steps. Otherwhise you burden yourself with unnecessary work of encoding problems...
Cucumber raises a Cucumber::Ambiguous if more than one step definitions match a step. Our new cucumber_priority gem provides...
Ruby has the class Proc which encapsulates a "block of code". There are 2 "flavors" of Procs: Those with "block...
This class contains nerdcore things such as disassembling a piece of Ruby into VM calls or enabling tail-call optimization...
When there's a Gemfile.lock in your working directory that you cannot remove by either checkout, reset [--hard], stash, probably...
Sometimes you just want to have a small web server that serves files to test something. Serve the current directory...
When you're developing a gem, never list the same dependency as both runtime and development dependency in your .gemspec...
There are many solutions, but a very concise one is this: hash.merge!(hash) do |key, old_value, new_value|
Sometimes you want to know exactly how many objects exist within your running Ruby process. Here is how: stats = {} ObjectSpace.each...
This is basically Ruby-native syntax for andand.
Ruby has a set of methods to convert an object to another representation. Most of them come in explicit and...
When you make a simple TCP connection to a remote server (like telnet), your client won't normally notice when...
You want to test your 1GE or 10GE internet uplink? We needed to ensure we have full 10GE to the...
Ruby allows multiple assignment: a, b, c = o In order to prove multiple values from a single object, Ruby calls...
The asset pipeline is one of Rails' two mechanisms how stylesheets, javascripts and images from your /assets folder are processed...
Some tasks in a web application are better not done live when a user request a page, but in the...
When a method has keyword arguments, Ruby offers implicit conversion of a Hash argument into keyword arguments. This conversion is...
Writing ruby methods that accept both optional and keyword arguments is dangerous and should be avoided. This confusing behavior will...