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.
Pushr 1.0.0 - Lightning fast push notifications for Android and iOS
Today I’ve released the first release of Pushr. Use Pushr to send push notifications using Redis to Android or iOS devices from Ruby or Rails applications. It’s fast and lightweight!
Optimizing Active Record Associated Record Count Queries With the belongs_to counter_cache Option
It is often useful to know how many records are associated with a model identified as being the parent in a belongs_to relationship. Active Record’s default behavior is to determine this number using a COUNT(*) query. Fortunately, you can avoid this additional costly query by caching the associated record account with a few simple modifications to your Rails application. Read the tutorial.
The beauty and ease of writing an engine application in Rails!
A quick tutorial for building a rails API as an engine. Rails API as an Engine.
The Vibe is back, alright!
The Vibe is back! After many weeks wandering lost in the wilderness, I present to you the new and improved (caveat: exactly the same) vibe. The weekly load down on what’s cool in the dev and tech world. Get a sense for what the vibe is….
If you explicitly expire cached fragments, opt out of cache digests
We upgraded a Rails 3 application to use Rails 4, and found that certain pages weren’t being updated as we expected. The problem was that cached fragments were no longer being expired properly. So we’ve written this blog post: If you explicitly expire cached fragments, opt out of cache digests.
Testing Pundit rails authorisation with RSpec
Authorisation is always an issue, have to be dealt carefully and often you start off with simple home made statements like user.admin?, etc. … I had to switch from a custom solution to a solid community proofed and backed solution. Find here my synopsis on testing Pundit with Rspec.
Managing Logs and Why Elasticsearch is Amazing!
Even though our logging system is considered to be a core piece of our hosting platform and even though we have very strict internal demands for keeping the system available and healthy, we still don’t have to do much to keep Elasticsearch up and running. While it’s incredibly configurable, we found that we haven’t had to deviate much from their sane defaults. So, given the ease of use of Elasticsearch, I found myself talking more about what it’s like to manage a lot of logs from a lot of sources, both software and hardware. Here are my slides if you’d like to follow along: Read more here.
Simple Ways to Protect an API
Let’s explore HTTP Basic Authentication and HTTP Token Authentication as simple solutions to protect an API from unauthorized access with examples in Ruby/Rails.
N+1 Series: Optimized Count with Joins and Custom Select - Codemy
We show you in a ~10 minute video how to do associations count without resorting to counter caches.
Get World Cup results on the command line
Henry Poydar has written the worldcup-2014 gem that provides command line access to World Cup 2014 information and results.
Managing Login Passwords for Capybara with Minitest and Rails Fixtures
I wrote a new post on Managing Login Passwords for Capybara with Minitest and Rails Fixtures. Hope you enjoy!
Improve Rails performance by adding a few gems
Working with Rails for some time you start nitpicking on how to improve it. This is a first in the series of articles regarding on how to improve (even marginally) Rails’s performance.
Simplify your Ruby code with the Robustness Principle
Your current_user method returns a User, except when there is no user and it returns nil. A search method returns an Array of results, unless there’s only one result, and it returns just that result instead. Seems reasonable, right? Maybe even convenient! But soon, these decisions will bury your code under a mountain of if statements. There is a way to prevent this, though, and all it takes is a little thoughtfulness.
Keep Ruby Weird: A brand new Conf in Austin Texas
Austin is our home and it’s at the heart of how we live and write software. Known for it’s eclectic attitude, the city maintains the unofficial motto: “Keep Austin Weird’. The people are friendly, accepting of artistic and individual expression, lending the city a vibrant and progressive energy. We believe that as developers we grow stronger through play and exploration of our craft. In Austin, this belief is strengthened and supported as we see companies care as much about personal growth as their bottom lines. We wanted to throw a conference that feels like Austin, while taking the opportunity to show off what it is that makes our city great. We present to you Keep Ruby Weird
MetaRuby - Calling and Receiving Methods
Take a look at one of the more popular facets of metaprogramming today, calling and receiving methods using send and method_missing. [more inside]
Lit - I18n web interface for Rails
I wrote short introduction to Lit - mountable as engine web interface for your translations. Lit is of course open sourced on GitHub - new features are more than welcome.
TDD Antipatterns: The Free Ride
Inspired a by Stack Overflow thread, I discuss helping yourself by avoiding test case clutter.
Introduction to the N+1 Problem - Codemy
In this ~8 minute episode we introduce you to the N+1 Problem.
Introducing Lotus
Lotus is a complete web framework for Ruby with a strong emphasis on object oriented design and testability. If you use it, you employ less DSLs and more objects, zero monkey-patching, separation of concerns between MVC layers. Each library is designed to be small, fast and testable. [more inside]
rack-secure-upload 0.1.2 release!
I just released rack-secure-upload. You can reject malicious files uploaded by user!
Animating with ease! Using CALayer for Animations in RubyMotion.
Working with UIKit and AppKit is common place when you’re working with RubyMotion, but sometimes it’s good to drop down a layer (or should I say CALayer), and interact with something else. CALayer is a great class to work with, especially when it comes to animating properties, because it does it all automatically for you. Watch this episode and see how to take advantage of this awesome class. [more inside]
Useful Tips from Eileen Uchitelle for Working with Active Record
Eileen Uchitelle, a Lead Developer at Phishme, gave a very interesting and informative talk at Ruby Nation this past weekend. The talk focused on how problems can arise when developers make the assumption that Active Record knows best instead of understanding how its methods translate into MySQL. [more inside]
FiniteMachine 0.8.0 release!
I’ve released another version of finite_machine which sports few changes, the most notable introduction of choice pseudostate. I’m looking forward to your feedback to make this state machine awesome one!