The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
High Performance Caching with Readthis
Discover how existing libraries and continual performance benchmarks shaped Readthis, a Redis backed ActiveSupport compliant cache.
Logging local & instance variables when exceptions occur in Ruby
With hard-to-reproduce bugs, it can be really handy to log all of the local and instance variables along with the exception. This post shows you how. Along the way we’ll introduce Ruby’s binding system as well as the binding_of_caller gem - a powerful tool for introspection. http://blog.honeybadger.io/log-local-variables-and-instance-variables-when-exceptions-occur-in-ruby/
Start Writing your API's with Rails
With the popularity of Javascript frameworks and the move to cross platform development, Now is a good time to start writing your green-field applications with an API first mindset. [more inside]
An in-depth post on Gemfiles
What is a Gemfile aims to take new Ruby developers through what is available to them when writing a Gemfile. [more inside]
RMagick - A year later
A summary of RMagick project development since it was forked a year ago. [more inside]
An Exercise in Implementing Pattern Matching in Ruby
Here’s a post about attempt to implementing Haskell-strength pattern matching in Ruby, which will be looking natural and Rubyish. Also there’s some pragmatic conclusions on adoption of such a “core language” features.
Introducing TestChanges gem
TestChanges is a light-weight gem for testing only the files that have changed since a given commit. You tell it what your test tool is, what files to watch, and what tests to run. It’s similar to guard, except that you have to run it manually and the configuration format is YAML. [more inside]
Symbolized Hash with indifferent access.
Symbolized provides a Hash with indifferent access, but with keys stored internally as symbols. Useful when you have a lot of hashes with the same keys, and it may become inefficient to keep all these identical keys as strings. A good use case is data processing pipelines.
Decoupling Ruby Applications with Amazon SNS & SQS
I’m excited to publish two new gems, “circuitry” and “circuitry-middleware”, which provide simple pub/sub through AWS services. Great for building out your service oriented architecture.
Getting started with Rails 5's ActionCable and websockets
In this post, we will use ActionCable to build a simple chat app, where people can pick a username and start posting to a public chatroom.
A Rusting Rubyist
The first three posts in my series on implementing an embeddable rustlang lib in a Ruby module. [more inside]
Testing "shape" of data and nested data structures
When testing code that integrates with DBs and JSON APIs I often don’t really care about attributes like id, created_at but still have to assert on them, or filter them out. See a different way:
Broad Modules in ruby
Broad modules are any that step outside a single namespace. Be those modules small or large is a secondary concern. Here is a comparison of import mechanisms from other languages and advice on keeping libraries narrow.
Keep your data types in check! Rails compatible validator to assert types.
No one is particularly fond of littering their code with trys and is_a?s. To remedy this, I make my models assert confidence that the data in my database is what I expect. I’m not talking about type coercion, type casting or any other munging of types that might happen on a typical read/write from your handy dandy ORM of choice. No no, this is the real deal, the bees knees, the elbows of a gazelle: actual type validation.
jekyll-book-theme - Static Site Theme for World (Literature) Classics e.g. The Trial
Hello, I’ve put together a new static site theme for world (literature) classics (e.g. A Tale of Two Cities, The Trial, etc.). See a live version (demo) for Strange Case of Dr. Jekyll and Mr. Hyde by Robert Louis Stevenson and the ready-to-fork /jekyll-book-theme github repo @ Dr. Jekyll’s Themes site. Happy reading (and forking). Cheers.
Colorized SQL Log Backport for ActiveRecord
Why let Rails 5 have all the fun? This gem allows you to leverage this feature now. Compatible and tested for Rails 3.2 to 4.2. Happy logging!
Technologies used for backend development
Backend development is centered in building the architecture that supports a web application, using a diverse range of languages and systems. Once you choose the language you like most, you will usually need to choose a web framework as well. And besides this, you have a wide range of databases, search engines and queue systems to choose from.
ImageInfo - A Ruby gem that fetch web images metadata concurrently
ImageInfo finds the size and type of a single or multiple images from the web by fetching as little as needed in batches. It uses Typhoeus under the hood to get images metadata as fast as possible. Built to improve LinkThumbnailer performance on site with many images.
What is REST API ?
REST (REpresentational State Transfer) is a simple architecture that runs over HTTPS or TLS. The REST style emphasizes that interactions between clients and services are enhanced by having a limited number of operations. To read full article, take a look at RailsCarma Blog
Deep copying objects in Ruby
Deep copying is a topic that always appear when I’m working with junior developers, which is why I decided to write about a very simple technique for common objects.
Hello, Pluto - A Ruby Gem That Lets You Build Planets
To celebrate the successful flyby of Pluto by NASA’s new horizons spacecraft - allow me to highlight a little (unknown) Ruby gem named pluto - in honor of the (formerly) smallest planet. Try $ gem install pluto What’s it good for? Try $ pluto help Resulting in: [more inside]
Ruby value objects
Using ruby value objects for Domain Objects why talking in domain language is preferable to communication in the language of ruby constructs
How to Test Ruby Projects on Windows
As a gem author, it is easy to overlook that – gasp – some Rubyists use Windows. Does my gem even work on Windows? If I don’t regularly use Windows, how do I check? The good news is I found an easy (and free) way to set up Windows-based CI that does this check automatically. Here’s a quick tutorial.
A web server vs. an app server
When you research how to deploy your Rails app, you’ll see a lot of names: Apache, Unicorn, Puma, Phusion Passenger, Nginx, Rainbows, and many more. Some are “web servers,” and others are “app servers.” But what’s a web server, and how is it different than an app server? Can you use one without the other? And where does Rack fit in?
Ruby’s case statement – advanced techniques
Nothing could be simpler and more boring than the case statement. It’s a holdover from C. You use it to replace a bunch of ifs. Case closed. Or is it? Actually, case statements in Ruby are a lot richer and more complex than you might imagine. Let’s take a look. http://blog.honeybadger.io/rubys-case-statement-advanced-techniques/