{"id":746,"date":"2010-02-12T17:05:24","date_gmt":"2010-02-12T19:05:24","guid":{"rendered":"http:\/\/blog.plataformatec.com.br\/?p=746"},"modified":"2010-02-12T17:05:24","modified_gmt":"2010-02-12T19:05:24","slug":"happy-birthday-devise","status":"publish","type":"post","link":"https:\/\/blog.plataformatec.com.br\/2010\/02\/happy-birthday-devise\/","title":{"rendered":"Happy Birthday Devise"},"content":{"rendered":"

Today we are celebrating Devise<\/a>‘s birthday. But wait, if you have started watching Devise<\/a> since the beginning you may be asking: has Devise<\/a> already completed one year of life? Nope. Today we are completing exactly 4 months since Devise<\/a> was released at Rails Summit Latin America 2009<\/a>. And we are very proud and glad to say that we have just reached version 1.0<\/a>! Yeah! Let’s celebrate and talk a bit about history.<\/p>\n

The beginning<\/h3>\n

We decided to build Devise<\/a> based on some requirements we had in a project last year. The majority of our projects usually require an admin interface to configure the application with some CRUD information. And in this specific project, we were needing two different roles in the same application, the admin itself with all its powers to manage the application, and the end users that should be signed in to do some stuff inside the application. Usually only one model would be required in this situation, with some “type” column or flag to determine if the user is an admin or not, right? Okay, but we didn’t like this approach that much. So we started looking at some of the possibilities:<\/p>\n