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.
Harsh: Rails Syntax Highlighting, the way it should be
Harsh does syntax highlighting the way you think it should. It supports both Haml and ERb, has a block form that makes a ton of sense, and exposes the CSS you’ll need with easy rake tasks.
Ruby on Rails Training
Learn to achieve sustainable productivity with Rails from a team of experienced instructors. Read more about the exciting opportunity at the Idea Foundry. The Ruby on Rails class will be held June 9-12.
Avoiding Rails session race conditions
Nodeta blog now explains how to avoid dangerous Ruby on Rails session race conditions if you happen to be using PostgreSQL. The Smart Session Store plugin also supports other databases.
Radiant Stereotype Extension
And another one from Aissac, the Radiant Stereotype Extension, which allows you to define templates for Pages’ children. These templates are assigned per-parent Page, making all first-level children have the defined ‘stereotype’ by their parent. You control the new page’s parts, filter layout and page type. Checkout the source code on Github and visit the extension’s official page.
Radiant Custom Fields Extension
Another Radiant CMS Extension was released today by Aissac: Radiant Custom Fields Extension, which allows you to add custom fields to Radiant pages. The Page model is not changed as the custom_fields are added in a belongs_to association, there is an admin interface for managing the assigned fields and Radius tags for accessing them in your Radiant pages. Check out the source code on Github and the visit the extension’s official page.
Converting Array to Hash in ruby
Convert Array to HashCodes which illustrates converting array to hash
Quickly reload files in irb
Find yourself typing ‘load foo.rb’ a lot? Here’s a way to reload with 2 keystrokes
Building Rails + ExtJS reusable components with Netzke, tutorial, part 2
A comprehensive tutorial on how to create a composite Netzke widget: get some insight on how this Rails + ExtJS framework works.
Get Paid to Work on Rails
Rails has been accepted as a mentoring organization for the Google Summer of Code. Applications are due by April 3rd so get your entries in soon.
Ruby Algorithms: Sorting, Trie, Priority Queue, and Heaps
A hands-on look at sorting performance, and Trie, Priority Queue and Heap data structures implementations and use cases in Ruby - drop in replacements for performance and better memory usage!
Quickly roll back migrations to a different git branch's state
rake db:rollback_to_common compares your migrations in your current branch to another specified branch, and then rolls back all the migrations that the branches don’t have in common.
RailsAPI.com - Rails API docs with smart search
Downloadable Rails API package with smart search as you type, clean interface, github links, class browsing and a gem to build your own docs. Formely http://voloko.ru/sdoc/rails/
Testing outbound emails with Cucumber
In this tutorial, Dr Nic introduces Ben Mabey’s plugin email-spec that allows you to do integration testing of the emails you send from your Rails app.
Ruby Basics Videos
Two screencasts for beginners: Symbols in Ruby (7:39) and a related topic: Strings and Mutability (4:11)
Lockdown 0.9.3
Lockdown is now an authorization only system and can be configured to work with authentication systems like Authlogic. Look at the upgrade notes for more details on the changes. Lockdown is for RubyOnRails version 2.x
Ruby Case Study: BizShark Launched
BizShark Business Search is a free market research tool that can identify potential market competition and aggregate all relevant business information across the Web. BizShark is 100% coded on the Ruby-on-Rails platform.
Rails Envy Podcast #72
Episode #72 of the Rails Envy Podcast was just released, chalked full of useful news from the Ruby and Rails world. It’s just audio, so it’s great listening for the ride home, while you exercise, or while you mow the lawn.
Using Git Submodules for Shared Rails Components
Share components between Rails apps with Git Submodules. Run-through includes setting up RSpec and autotest for your shared components.
Scaling Rails in the Cloud
Slides and audio from my SXSWi 2009 talk about scaling a Rails application using cloud computing. Surprise, there was very little about Rails that caused us scaling problems. The framework was a natural fit for cloud computing, especially the AWS platform.
Mimicking MySQL's AES_ENCRYPT and AES_DECRYPT in pure Ruby
Recently, trying to replicate those functions in Ruby, I had a lot of headache understanding their inner workings. If you ever need that in the future, here’s my blog post on how to get exact same functions using pure Ruby.
MessagePub is a simple messaging API
MessagePub makes it easy to connect your application with your users on AIM, Google Chat, Phone, SMS, Email, and Twitter… using a single interface. There is a Ruby client (sudo gem install messagepub) but since it is Restful API, you can easily use ActiveResource, Httparty, or your favorite rest client.
ActiveRecord Oracle enhanced adapter now supports also JRuby and Ruby 1.9.1
Oracle enhanced adapter 1.2.0 now can be used on MRI, JRuby and Ruby 1.9.1 which allows more flexibility for deploying Ruby on Rails on Oracle database applications. New version of Oracle enhanced adapter also passes all ActiveRecord unit tests and can be used with Rails 2.3.
RubyTrends.com released
RubyTrends.com is a community driven resource to keep everyone up to date with the latest technology, books and other useful information resources.
Help out the Ruby 1.9 or Bust project and lets get the community moved to Ruby 1.9
I recently started the Ruby 1.9 or Bust project. The goal is to usher in Ruby 1.9 by paying a developer to make gems 1.9 compatible.
things-rb—access Things.app's database
things-rb is a Ruby library and a command line tool for accessing Things.app’s backend. Great with GeekTool to see your todos right on the desktop without having Things running. View on GitHub