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.
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.
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.
Making Ruby Dance!
I posted video, code, and slides from my lightning talk at Ruby Hoedown, entitled “Making Ruby Dance!”. It talks a bit about dependency injection and a particularly evil bit of code. I had a great time with it, so wanted to share. Obviously the video was not professionally recorded, but I think you’ll get the idea. :)
Add shortcuts to your rails application via mousetrap-rails
I’ve just released mousetrap-rails gem. Mousetrap is a javascript library for handling keyboard shortcuts in your web applications. Mousetrap-rails gem integrates Mousetrap javascript library with Rails Asset Pipeline.