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.
Generating absolute urls in Padrino
I just wrote about how to generate an absolute url in Padrino. Padrino is an awesome little framework, but it takes some digging around to get the best out of it.
Make your website super fast with Asset Pipeline, Sprites & Cloudfront
As the Heroku Cedar stack has no Proxy in front of your Rails application any more static assets have to be delivered through your application. This is very inefficient and keeps your dynos or unicorn workers busy with serving your assets. [more inside]
How to display page views in Rails app using Google Analytics API
Here is my blogpost about using Garb gem in rails app for displaying page views and real example of using it.
Ship it - a lightweight rake deployment task
A lightweight rake task to merge development Git branches and deploy to Heroku.
rails-auth-github: protect your internal apps with Github auth
I released rails-auth-github, which provides an easy way to add Github auth to Rails apps. It’s not an alternative to omniauth, but a Rails equivalent of sinatra_auth_github.
Unholy Rails: External Scripts, jQuery Plugins, and Page-Specific JavaScript
What is the best way to add a JavaScript library to a Rails application? How to include external JavaScript files and jQuery plugins in the Rails asset pipeline. Using page-specific JavaScript in Rails. This in-depth article from the RailsApps project explains what to do when your application is not wholly Rails. Comments and discussion welcome.
MetaMethod released.
Query Method objects about their visibility (i.e: is the method public, protected, or private?) with MetaMethod.
Getting Around Internet Explorer’s 4,096 CSS Rule Limit
I recently found out that IE can’t handle more than 4,095 selectors in a single CSS file. This is easy to run into when you’re using a framework like Rails’ asset pipeline, where it’s so easy to make a single large CSS file. Here’s my work-around.
FrenzyBunnies: JRuby and RabbitMQ based background workers framework
I just pusehd FrenzyBunnies. A JRuby and RabbitMQ based background workers framework, targeting high-performance and efficient resource utilization use cases.
Define everything you want in Ruby
Have you ever thought about which symbols Ruby method name can contain? You can read about it here.
How to get 4x the performance out of Heroku with Unicorn
Unicorn is a ruby http server that starts one master process listening on one port and forks several worker processes. Every incoming client request is handed to a worker by the master and when finished the master returns the result to the client. Thus it only needs to listen on one port, but can work on several concurrent requests. Take a look how! [more inside]
Accessing google analytics feeds from Ruby
I had some problems with Garb recently, so created a small library to access Google Analytics feeds. Uses client login, SAX-style row handling (so it’s fast!) and allows you to configure the HTTP connection with Faraday. Enjoy.
Monitoring your Unicorns and Resque with Bluepill and Upstart
A detailed walk through on getting Bluepill, Upstart, Unicorn and Resque to place nice.
Push 1.0.0 released
I’ve just released version 1.0.0 of the Push gem. Which allows you to send push notifications to iOS (APNS) and Android (GCM/C2DM) devices from a Rails application. Right now it’s used in a production environment and I’m sending 500K push notifications a day. This gem uses the Rails database to store your messages so no additional dependencies are required. The daemon includes a customisable feedback service to integrate the feedback in your own environment (for example the removal of device tokens).
Expense Tracker a useful android app created by Vinsol
Vinsol just launched expense tracker
DJ Mon 1.1.0 released
Just released DJ Mon 1.1.0. DJ Mon is a Frontend for Delayed Job. This release includes support for Ruby 1.8.7 when using delayed_job_active_record.
Screencast: Ruby's IO Buffering And You!
I’ve been delving into Ruby’s IO system lately and finding out lots of neat things. So I decided to share a few. The whole thing is less than 10 minutes long and demonstrates a bunch of nuances about working with File and Socket in Ruby.
Sunsetting and Deprecation at Heroku
Heroku is an erosion-resistant platform, but what happens when something needs change? Learn all about Heroku’s deprecation and sunsetting policies so you can sleep sound at night knowing what to expect.
Auto generate/maintain API documentation using Rails integration tests
Maintaining documentation is a pain in the ass. Especially when you rapidly changing underlying structure and have no time to sync docs with what is actually going on. This is an attempt to automate it. It works as follows: [more inside]
grow tasty cucumbers using PageObjects
The blog post grow tasty cucumbers using PageObjects explains the advantages of using the PageObject pattern. I try to explain why you should not focus on reusable steps but on more expressive steps. The PageObject pattern helps you to reduce the duplication in the implementation of your steps.
How do I know if my Heroku app is slow?
Logentries is a log management service providing analysis for a wide range of platforms, OS’s and languages. Our partnership with Heroku gives users instant access to graphs, intelligent tagging, and email/phone alerts when platform or application errors occur. This Logentries blog post covers understanding request latency for Heroku apps, in particular under high user loads.
Introducing RubyTapas screencasts
Today I’m launching RubyTapas, my subscription screencast series. These are short (1-5 minute) videos, released three days a week, demonstrating intermediate to advanced Ruby features, idioms, and libraries. The first episode is up and available for free!
Using multiple omniauth providers with omniauth-identity on the main user model
I just wrote a post on how to use multiple providers and omniauth-identity, using the main user model and not relying on an identity model: Using multiple omniauth providers with omniauth-identity on the main user model.
Free Resources for learning or diving deeper into Ruby and Rails
Over time I’ve collected quite many resources ranging from beginner material about Ruby and Rails to more advanced resources. Most of the material is free. I hope that this collection of resources is beneficial to people, who are interested in Ruby/Rails regardless of their skill level.
Make Beautiful APIs with Rails
Faceted is a new gem providing a set of tools, patterns, and modules to help you build beautiful internal and external JSON APIs for your Rails applications. Inspired by the hexagonal architecture design pattern, Faceted is highly opinionated and embraces the convention-over-configuration philosophy.