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.
OpenStruct 2
I just launched ostruct2 gem intended as drop in replacement for Ruby’s standard ostruct.rb library. The original OpenStruct class has some short-comings, such as name conflicts with built-in methods. OStruct2 improves upon the original by subclassing BasicObject to ensure a clean slate and adds some additional niceties such as support for Enumerable. This is v0.1.0. I’m sure it needs a little bit more work to be complete (e.g. #hash and #dup methods are probably unavoidable), but all the primary functionality is green.
Easy way to secure column in database with Rails3
I wrote a short post how to easy secure any column in database with Rails3.
Quick tip on how to get Capistrano to speak up
I just wrote a short post how i get capistrano to speak using say on OSX, (you can use espeak on linux and windows).
Frozen Rails 2012 call for proposals now open
The Frozen Rails 2012 call for proposals is now open on our new site: 2012.frozenrails.eu - Frozen Rails is a a two day, single track conference and this is the third time that it’s being organised. Currently we’ve confirmed our two keynote speakers and Early Bird tickets are currently on sale and we’re also looking for sponsors. In addition to this, we offer substantial discounts to Rails contributors and students.
E-commerce Tips 1.1 (namespacing)
I’ve been very frustrated when I see an app/controllers directory with a lack of namespaces. It’s just wrong to not have any namespaces in an app that is large. I try to give me reasoning for why it is wrong to not have namespaces in this article
A faster way of unit testing in Ruby on Rails
For a long time, Ruby on Rails developers have put a good amount of effort into testing their apps. The Ruby on Rails community was the first to show me the beauty of automated tests. Read entire article
Pragmatic Metaprogramming
I wrote another post on Pragmatic Metaprogramming.
Rails Authorization with Authority 2.0
Authority is the Rails authorization gem that’s as simple and flexible as Ruby inheritence. We recently released the 2.0 version, and it’s rock-solid: tons of passing multi-platform tests and lots of clear documentation. Come check it out on Github or Rubygems.
Rails 4.0 Sneak Peek: Expanded ActiveRecord Support for PostgreSQL Datatypes
I just blogged about my first accepted Rails pull request. I added support for PostgreSQL INET, CIDR and MACADDR type to ActiveRecord
A new gem for the Flickr API called "flickrie"
I just released the first major version of my gem for the Flickr API called “flickrie”. The major difference from other gems of this kind is that it uses an object-oriented approach. Also, it’s written in Ruby/Rails fashion (for example, an attribute that is called #dateupdated in the Flickr API will here be called #updated_at, and #ispro is called #pro?), and you get all the information parsed (like dates, for example, you’ll get Time objects, instead of strings or integers). Check out the project page on GitHub :)
Ruby On REST 6: Pagination With Roar
This brand-new post describes how to use Roar’s representers and will_paginate to generate paginated REST documents. Also, we discuss how to move reusable logic into an abstract PaginationRepresenter.
Using Thinking Sphinx and integrating it with SQL database
A presentation of Thinking Sphinx and an example of integration with SQL DB.
Released multi_markdown 0.1.0.pre1
Just pushed a pre-release of multi_markdown, feedback welcomed. multi_markdown allows projects to use a wide variety of Markdown libraries, without having to depend on a specific one. AKA multi_json for markdown. Please stop explicitly depending on rdiscount or redcarpet, try multi_markdown instead.
Going to write a book called "Composing Ruby"
Ruby is one of the most richly object oriented programming languages that has ever existed. However, nearly two decades of programmers working in Ruby as if it were a foreign language has prevented us from unlocking its true potential. Read more
Live Training: Rails Fundamentals Workshop
Rails is hard to learn. There are a lot of different overlapping tools, the opinionated perspective requires you to understand a number of acronym-ized concepts, and even the intro screencasts don’t answer if you ask them a question. Read more
My Campaign to Stop Bad Rails Code
We’ve all been there, walking into a code base which stinks to high heaven. There’s a few solutions to help prevent this, one of which I detail in My Campaign to Stop Bad Rails Code. The first step I recommend is reserving a spot for our free weekend on Code School. Maybe playing some Rails Best Practices or Rails Testing for Zombies.
Building your tools with Thor
Just published my article about Thor. Enjoy
First version of CarrierWave::Processing has been released
Just released version 0.0.1 of carrierwave-processing gem. It includes processors that I’ve been using in multiple projects for a while: “quality” processor (allows to set JPEG/MIFF/PNG compression level) and “strip” (strips image of all profiles and comments). Check out it’s source code and feel free to add more useful processors you use frequently.
Kata 1.3.1 Released
Katas are well known in the ruby community as a great way to practice the language. The kata gem provides facilities to make the practice easier. Writing a kata is as easy as writing an rspec test while taking it is a step by step process with github integration baked in. With this release kata supports other languages besides ruby and it commits to your git repo after completing a requirement during a practice session. Check it out and have a look at the code katas project for some samples to test yourself against!
Namespace-less Engines
We’ve been looking for ways to re-use code between multiple projects, and have come up with a an Engine setup that is easily separated and easy to override in your project. My friend wrote a nice example and tutorial.
Announcing Database-less Environments
At <a href=engineyard.com”>Engine Yard</a>, we believe that you should have the flexibility to set up your environments and manage your data stores as you see fit. This is something we take seriously as we continue to evolve Engine Yard Cloud and today, we are happy to announce database-less environments as an alpha release. If you need to utilize data offerings outside of our natively supported MySQL or PostgreSQL, then this feature will enable you to do so. Check out more <a href=” rel=”nofollow” http://www.engineyard.com/blog/2012/announcing-database-less-env/”>here</a>.
Dante, lets you put some daemon in your code
I discover the Dante gem and I explain why I love it.
SheetMapper: Ruby Object Mapper for Google Spreadsheets
Just released version 0.0.1 of SheetMapper which supports mapping google spreadsheet rows into ruby objects. The use case is for easily parsing and traversing spreadsheet data in which rows can be represented as objects.
MaxMind support for Geocoder gem
We’ve added Maxmind support to geocoder! You can see the pull-request and more details here.
Devise 2.1.0 version has been released
With some deprecated features removed, bug fixes and a few features, Devise 2.1.0 has been released. Checkout the blog post about the release.