---
title: "This week's Ruby news, issue 290"
publication: "Ruby Weekly"
issue: 290
published_at: "2016-03-23"
canonical_url: "https://rubyweekly.com/issues/290"
---

This week's Ruby news, issue 290

This week's Ruby and Rails news[Read this e-mail on the Web](http://rubyweekly.com/issues/290)

Ruby WeeklyIssue 290 — March 23, 2016

Code School[Ruby Hero Awards Nominations Open](http://rubyheroes.com/)The Ruby Heroes awards are given out each year at RailsConf to people in the community who deserve recognition. Get your nominations in now.


SitePoint[Deploying a Rails App with Otto](http://www.sitepoint.com/otto-makes-development-and-deployment-a-breeze/)Otto is a tool from the creators of Vagrant that can both create development environments for apps and then deploy them to the cloud.


Better Ruby[The Memento Design Pattern in Ruby](http://www.betterruby.com/gangs-in-ruby-remember-me/)A software design pattern that provides the ability to roll the state of an object back to its previous state (i.e. undo/rollback).


RedisGreenSponsored[Get more from Redis: Autoscaling and Performance Dashboard from RedisGreen](https://dashboard.redisgreen.net/new?utm_source=rubyweekly&utm_medium=email&utm_campaign=2016a&utm_content=primary&utm_term=findout+autoscaling+performance)Ever wonder what your Redis server was actually doing? Find out with RedisGreen's dashboard and monitoring tools.

[![RedisGreen\](https://copm.s3.amazonaws.com/9433bc25.png)](https://dashboard.redisgreen.net/new?utm_source=rubyweekly&utm_medium=email&utm_campaign=2016a&utm_content=primary&utm_term=findout+autoscaling+performance)


Joseph Weissman[PassiveRecord: No-Persistence Pure Ruby Relational Algebra](https://github.com/deepcerulean/passive_record)Want to track objects and look them up again based on ID or their attributes, or even use relational semantics, with no need for persistence? PassiveRecord is for you.


Fabio Akita[Is Your Rails App Ready for Production?](http://www.akitaonrails.com/2016/03/22/is-your-rails-app-ready-for-production)Aimed more at beginners, but includes points we can all forget occasionally, as well as some interesting opinions and insights.


RubyGems Guides[Building and Installing Cryptographically Signed Gems](http://guides.rubygems.org/security/)It’s rare, but installing a malicious gem could ultimately result in a server being compromised by the gem’s author. RubyGems has had the ability to sign gems since 0.8.11, but how does it work?


Daniel P. Clark[A Deep Dive into Ruby Scopes](http://blog.codeship.com/a-deep-dive-into-ruby-scopes/)Understanding scopes will help you fully leverage Ruby. Here’s an in-depth overview, looking at singletons, namespaces, and bindings along the way.


Jake Yesbeck[How to Build a Ruby on Rails Engine](http://jakeyesbeck.com/2016/03/20/how-to-build-a-ruby-on-rails-engine/)Engines are miniature apps whose purpose is to supplement a larger Rails app. Jake looks at what goes into creating one.


Jobs

- [Ruby on Rails Software Engineer at Leadfeeder (Helsinki, Finland or remote)](https://www.leadfeeder.com/jobs/software-engineer/?utm_source=rubyweekly&utm_medium=email)You're needed for the next big thing in analytics-driven sales. Leadfeeder is disrupting the traditionally slow B2B sales space with tech built on top of Google Analytics. Digital nomads welcome. Leadfeeder
- [Lead Product Engineer, Client Protection (London, UK)](https://engineering.alphasights.com/positions/software-engineering-client-protection-lead?utm_source=rubyweekly&utm_medium=email)You'll build software that mitigates legal and reputational risks for AlphaSights and our clients. You’ll lead a team of engineers, influence product decisions, set the technical direction, and work in Ruby JavaScript. AlphaSights
- [Get 10 offers from top tech companies in one week.](http://www.indeed.com/prime?sid=xp_cooperpress&kw=rubyweekly)Indeed Prime is an elite new program from Indeed.com that presents in-demand tech talent like you to top employers. Indeed Prime opens the door to exciting career opportunities with one simple application. [Join today.](http://www.indeed.com/prime?sid=xp_cooperpress=ruby) Indeed.com

In brief

- [Rails Pacific: A Ruby Event in Taiwan (May 20-21)](http://www.railspacific.com/?utm_source=rubyweekly&utm_medium=email) news Rails Pacific
- [has_secure_token to Generate Unique Random Token in Rails 5](http://blog.bigbinary.com/2016/03/23/has-secure-token-to-generate-unique-random-token-in-rails-5.html?utm_source=rubyweekly&utm_medium=email) news Abhishek Jain
- [A Look at Different Concurrency Models](http://blog.appsignal.com/blog/2016/03/17/ruby-magic-mastering-concurrency.html?utm_source=rubyweekly&utm_medium=email) tutorial 
Summary of different concurrency approaches: multi-process, multi-threading, and event-driven. Thijs Cadier
- [Practical Insights on How to Upgrade to Rails 5](https://medium.com/@tair/how-to-upgrade-to-rails-5-657b3bfd83?utm_source=rubyweekly&utm_medium=email) tutorial 
Practical experiences and insights from an actual upgrade. Tair Assimov
- [Custom Type-Casting with ActiveRecord, Virtus and dry-types](http://blog.arkency.com/2016/03/custom-typecasting-with-activerecord-virtus-and-dry-types/?utm_source=rubyweekly&utm_medium=email) tutorial Robert Pankowecki
- [Rails: Has One Through Polymorphic Relation](http://6ftdan.com/allyourdev/2016/03/22/rails-has-one-through-polymorphic-relation/?utm_source=rubyweekly&utm_medium=email) tutorial 
A look at the inverse of a standard polymorphic belongs_to relationship. Daniel P. Clark
- [Chaining ActiveRecord::Relation Methods in Rails 5](https://rubyplus.com/articles/3051?utm_source=rubyweekly&utm_medium=email) tutorial Bala Paranj
- [Quickly Create a Telegram Bot in Ruby](http://www.sitepoint.com/quickly-create-a-telegram-bot-in-ruby/?utm_source=rubyweekly&utm_medium=email) tutorial Ardian Haxha
- [Expressing Sameness and Difference in RSpec](http://code-reuse.yerdle.com/?p=92) tutorial Lance Olsen
- [better_errors Is Better Than web-console](https://vimeo.com/159912140?utm_source=rubyweekly&utm_medium=email) video opinion Olivier Lacan
- [A Walk Through How The Dotenv Gem Works](https://dissectcode.com/2016/03/16/understand-how-the-dotenv-rubygem-works/?utm_source=rubyweekly&utm_medium=email) video 
A 20 minute code walking exercise. Khaja Minhajuddin
- [Making Error Alerts Less Noisy and More Useful](http://blog.honeybadger.io/how-to-make-your-error-alerts-less-noisy-and-more-useful/?utm_source=cooperpress&utm_medium=email&utm_campaign=blogpost) tools 
Reduce false alarms and make sure that every error alert goes to the right person with Honeybadger. Honeybadger.ioSponsored
- [haikunator: Heroku-like Random Name Generator](https://github.com/usmanbashir/haikunator?utm_source=rubyweekly&utm_medium=email) code Usman Bashir
- [attr_bitwise: Rails Bitwise Enum with Super Powers](https://medium.com/jobteaser-dev-team/rails-bitwise-enum-with-super-powers-5030bda5dbab?utm_source=rubyweekly&utm_medium=email) code Charly Poly
- [A TimedSemaphore Implementation in Ruby](https://crondev.com/ruby-timedsemaphore/?utm_source=rubyweekly&utm_medium=email) code 
A specialized implementation of a semaphore that gives a number of permits in a given time frame. cron
- [wolfentext3d: Terminal-Based 3-D Dungeon Crawling](https://github.com/AtomicPair/wolfentext3d?utm_source=rubyweekly&utm_medium=email) code 
A very simple ASCII-rendered 3D game. Adam Parrott
- [No Time to Do Those Small but Critical Updates?](https://www.reinteractive.net/service/code-care?sid=38) 
If you're struggling to find time, budget or resources to improve your Rails app, we can help. Sign up to CodeCare and get fixed price ongoing upgrades and improvements. ReinteractiveSponsored

Curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict), and published by [Cooperpress](https://cooperpress.com/).
Send feedback by simply replying to this mail.
Want to sponsor an issue? See our [media kit.](https://cooperpress.com/mediakit)
Want to post a job? Email us or [use our self-serve system.](https://booking.cooperpress.com/jobs)

[Unsubscribe](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/290)

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
