<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Postings for Rails developers. From Daniel Kehoe and the RailsApps project.</description><title>RailsApps</title><generator>Tumblr (3.0; @rails-apps)</generator><link>http://blog.railsapps.org/</link><item><title>Prelaunch Signup Application</title><description>&lt;p&gt;I&amp;#8217;ve just added the &lt;a href="https://tutorials.railsapps.org/rails-prelaunch-signup"&gt;Startup Prelaunch Site&lt;/a&gt; tutorial to the collection of &lt;a href="https://tutorials.railsapps.org/rails-prelaunch-signup"&gt;RailsApps Tutorials&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Most startups need a site to announce the founders’ plans and encourage visitors to enter an email address for notification of the site’s launch. The tutorial will show you how to:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;sign up visitors using a pop-up form&lt;/li&gt;
&lt;li&gt;add buttons to encourage visitors to share the site on social networks&lt;/li&gt;
&lt;li&gt;subscribe visitors to a MailChimp mailing list&lt;/li&gt;
&lt;li&gt;send invitations (individually or in bulk) for beta testers or a site launch&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Some startups use a service such as LaunchRock, KickoffLabs, or Unbounce to create a sign-up page but you might prefer to &amp;#8220;own the code&amp;#8221; that you can customize. This project aims to:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;eliminate effort spent building an application that meets a common need;&lt;/li&gt;
&lt;li&gt;offer code that is already implemented and tested by a large community;&lt;/li&gt;
&lt;li&gt;provide a well-thought-out app containing most of the features you’ll need.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The tutorial shows how to use Devise to create user accounts that are not confirmed until an invitation is sent. Unlike a hosted page like LaunchRock, when your visitors sign up, they are creating real user accounts in a user database you can use after you launch. The tutorial explains how you can use git to create a branch for your sign-up application, deploy to Heroku, and continuing developing your &amp;#8220;real&amp;#8221; application to deploy when you are ready to launch. You&amp;#8217;ll use the same database for users before and after launch.&lt;/p&gt;

&lt;p&gt;I built the example application last year and released a preliminary tutorial. I was able to rewrite and extend the original tutorial, plus pay for user testing, because of financial support generated by subscriptions to the &lt;a href="https://tutorials.railsapps.org/rails-prelaunch-signup"&gt;RailsApps Tutorials&lt;/a&gt;. So thank you subscribers!&lt;/p&gt;</description><link>http://blog.railsapps.org/post/48968111591</link><guid>http://blog.railsapps.org/post/48968111591</guid><pubDate>Fri, 26 Apr 2013 17:49:20 -0700</pubDate></item><item><title>Rails Girls Summer of Code</title><description>&lt;p&gt;Here&amp;#8217;s the question. The mission of the RailsApps project is to &lt;strong&gt;make it easier for people to develop Rails applications&lt;/strong&gt;. What could a &lt;a href="http://railsgirlsberlin.github.io/summer-of-code/index.html"&gt;Summer Coder&lt;/a&gt; do to advance the mission? Here are some of my ideas. What else would be worthwhile?&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Convert the example applications from Rails 3.2 to Rails 4.0&lt;/li&gt;
&lt;li&gt;Help write new example applications (covering what topics?)&lt;/li&gt;
&lt;li&gt;Help write new example applications aimed at a beginners&amp;#8217; level&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I have my own ideas but I&amp;#8217;d like to crowdsource this. Please give me your suggestions, either as comments or via Twitter to &lt;a href="https://twitter.com/rails_apps"&gt;@rails_apps&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://railsgirlsberlin.github.io/summer-of-code/img/sprites/logo_start.png" alt=""/&gt;&lt;/p&gt;

&lt;h3&gt;Huh? What&amp;#8217;s This About?&lt;/h3&gt;

&lt;p&gt;Organizations such as &lt;a href="http://railsgirls.com/"&gt;Rails Girls&lt;/a&gt; and &lt;a href="http://workshops.railsbridge.org/"&gt;RailsBridge&lt;/a&gt; help newcomers get started who are not typical techies (white or Asian males). I&amp;#8217;ve been enjoying teaching students at these workshops. The new developers are ambitious and enthusiastic. And it helps me to improve the RailsApps example applications and tutorials when I see the challenges encountered by learners who are new to Rails.&lt;/p&gt;

&lt;p&gt;Rails Girls just announced a new program that takes their mission to a new level. It&amp;#8217;s the &lt;a href="http://railsgirlsberlin.github.io/summer-of-code/index.html"&gt;Rails Girls Summer of Code&lt;/a&gt; and like &lt;a href="http://en.wikipedia.org/wiki/Google_Summer_of_Code"&gt;Google Summer of Code&lt;/a&gt;, it aims to provide a stipend (tentatively $1500/mo) for students to work on open source projects. Unlike Google Summer of Code, Rails Girls doesn&amp;#8217;t require applicants to be enrolled in a college. The program is open to any women who have participated in a RailsGirls or RailsBridge or similar workshop and are getting started with Ruby/Rails as newcomers.&lt;/p&gt;

&lt;p&gt;Yesterday they began asking open source projects to apply to be matched with students. I jumped at the opportunity. Here&amp;#8217;s my proposal:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The &lt;a href="http://railsapps.github.io/"&gt;RailsApps project&lt;/a&gt; provides open source Rails example applications that help learners to close the gap between Ruby on Rails introductions for beginners and the piecemeal advice found on experts’ blogs. The example applications are popular, both among learners and intermediate-level developers who use the example applications as starter apps. There are eight example applications, all written for Rails 3.2, covering topics such as integrating authentication (Devise), authorization (CanCan), testing (RSpec and Cucumber), NoSQL (Mongoid), payments (Stripe), and subdomains.&lt;/p&gt;
  
  &lt;p&gt;In addition to benefiting the student directly with skill development and achievement, working on the RailsApps project will directly benefit other students by providing high quality Rails example code for study and the community at large by providing well-maintained starter applications. Just as important, the student will make a significant contribution to the RailsApps project by providing the perspective of a beginner to improve the example code and documentation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Your Comments Please!&lt;/h3&gt;

&lt;p&gt;I talked to &lt;a href="https://twitter.com/svenfuchs"&gt;Sven Fuchs&lt;/a&gt;, one of the Rails Girls organizers, about my proposal and he was encouraging. He asked me to provide more specifics about what a Summer Coder could do. So now I&amp;#8217;m asking for ideas from supporters of the RailsApps project. Can I get your suggestions? How could a Summer Coder contribute to the RailsApps project? Submit comments or suggest via Twitter to &lt;a href="https://twitter.com/rails_apps"&gt;@rails_apps&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/48714739376</link><guid>http://blog.railsapps.org/post/48714739376</guid><pubDate>Tue, 23 Apr 2013 13:26:00 -0700</pubDate></item><item><title>Rails Apps Composer on Guard</title><description>&lt;p&gt;&lt;a href="http://leinonen.net/"&gt;Paavo Leinonen&lt;/a&gt; frequently uses the &lt;a href="http://railsapps.github.com/rails_apps_composer/"&gt;rails_apps_composer&lt;/a&gt; gem when building applications for clients. He recently contributed support for continuous testing with &lt;a href="https://github.com/guard/guard"&gt;Guard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I wanted to ask him why Guard is important. Paavo has been very enthusiastic about Rails Apps Composer so we created this interview. I swear a public relations firm didn&amp;#8217;t edit this, it&amp;#8217;s just Paavo&amp;#8217;s natural enthusiasm that comes across here.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/eb4e497b0f7654d03bcc05a243f2c21f/tumblr_inline_mkr7woY2fe1qz4rgp.png" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do you use Rails Apps Composer?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I work for &lt;a href="http://protoverstas.com"&gt;Protoverstas&lt;/a&gt; in Finland which provides an agile three-week program to launch application ideas. &lt;a href="http://railsapps.github.com/rails_apps_composer/"&gt;Rails Apps Composer&lt;/a&gt; is an invaluable tool when prototyping and pivoting applications at a fast pace for demanding clients. It would be way too tedious to always start with &amp;#8220;rails new&amp;#8221; without any template. So Rails Apps Composer means less typing work for us and faster profits for our clients!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tell us what&amp;#8217;s on your desktop.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I do full-stack test-driven Rails development on OS X. I like to keep my environment as minimal and esthetically pleasing as possible. On my main monitor I keep two windows open side by side: MacVim as my text editor (using the &lt;a href="https://github.com/carlhuda/janus"&gt;Janus distribution&lt;/a&gt; with its amazing plugins) and iTerm2 as the terminal (running automated tests with Guard in one tab and using the zsh command line in another tab). I use the Solarized color theme in both, so they are easy on my eyes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is your Rails stack?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m very opinionated as a developer. I prefer PostgreSQL or MongoDB for most projects. I couldn&amp;#8217;t imagine writing plain HTML again, so &lt;a href="http://railsapps.github.com/rails-haml.html"&gt;HAML&lt;/a&gt; is a necessity for me, as well as Coffeescript and LESS. Fixtures feel way too old-school, so the &lt;a href="http://www.fabricationgem.org/"&gt;Fabrication&lt;/a&gt; gem is my choice. So is all the manual work needed for default forms, so please, &lt;a href="https://github.com/plataformatec/simple_form"&gt;SimpleForm&lt;/a&gt; for me. I like to deploy to &lt;a href="https://github.com/defunkt/unicorn"&gt;Unicorn&lt;/a&gt; (and of course use it for development, too). These more or less permanent preferences are included in my Defaults file as described in &lt;a href="http://railsapps.github.com/tutorial-rails-apps-composer.html"&gt;Rails Apps Composer documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What else do you need in a starter application?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.github.com/bootstrap/"&gt;Twitter Bootstrap&lt;/a&gt; is handy in some cases, though sometimes it&amp;#8217;s best just to normalize CSS. Most apps I write require some kind of user management, so it&amp;#8217;s cool that &lt;a href="http://github.com/plataformatec/devise"&gt;Devise&lt;/a&gt; and &lt;a href="https://github.com/intridea/omniauth"&gt;Omniauth&lt;/a&gt; provide most of the boring stuff right out of the box! Their routes and basic views are set up when using Rails Apps Composer, just how I like it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What about testing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I really want to encourage more developers to make test-driven development part of their practice. For unit testing I use &lt;a href="http://RSpec"&gt;RSpec&lt;/a&gt; and request testing I do with RSpec and &lt;a href="http://jnicklas.github.com/capybara/"&gt;Capybara&lt;/a&gt;. In my opinion &lt;a href="http://cukes.info/"&gt;Cucumber&lt;/a&gt; doesn&amp;#8217;t provide that much value itself and in many cases acts only as a proxy to Capybara&amp;#8217;s functionalities. In an ideal world, testing controllers, views, helpers, and routes all as single entities would be nice, but in the real world&amp;#8230; just not worth it. Thoughtfully designed and well-written unit tests and request tests can make your test coverage rock solid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does Guard fit in?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I edit and save any file in my Rails project, &lt;a href="https://github.com/guard/guard"&gt;Guard&lt;/a&gt; keeps track of tests that are affected and runs them automatically. I see results immediately in my terminal window without needing to touch anything! It&amp;#8217;s easy to keep track of which tests are passing already and which still need some more work.&lt;/p&gt;

&lt;p&gt;On my second monitor I keep a browser open. Luckily I don&amp;#8217;t need to touch it much, because automated tests do the boring and repetitious clicking work for me! Even when I need to touch it, I can do it without using the mouse, thanks to the &lt;a href="https://github.com/jinzhu/vrome"&gt;Vrome &lt;/a&gt; plugin providing Vim-like controls for Chrome. Guard also restarts the Rails development server when needed, and monitors the Gemfile (automatically running &amp;#8220;bundle install&amp;#8221; as needed).&lt;/p&gt;

&lt;p&gt;Keeping the development process streamlined and my environment beautiful helps me focus and keeps my quality standards high. Writing ugly code, copy-pasting or leaving features untested would feel just plain wrong. The right tools are important. So thanks, Daniel, for making my daily work more pleasurable with Rails Apps Composer!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks, Paavo, for letting me know how it serves you, and for taking time to describe your work environment. And especially, thanks for contributing the Guard option to Rails Apps Composer.&lt;/strong&gt;&lt;/p&gt;</description><link>http://blog.railsapps.org/post/47143557858</link><guid>http://blog.railsapps.org/post/47143557858</guid><pubDate>Thu, 04 Apr 2013 16:13:00 -0700</pubDate></item><item><title>Project Gemsets with RVM</title><description>&lt;p&gt;I use &lt;a href="https://rvm.io/"&gt;RVM&lt;/a&gt;, the Ruby Version Manager, because I often switch between projects that require different versions of Rails. I create an RVM gemset for each project.&lt;/p&gt;

&lt;p&gt;RVM looks for a &lt;strong&gt;.rvmrc&lt;/strong&gt; file in a project root directory and automatically switches to the required version of Ruby and the correct gemset. Now, with version 1.19, RVM looks for files named &lt;strong&gt;.ruby-version&lt;/strong&gt; and &lt;strong&gt;.ruby-gemset&lt;/strong&gt; in the root directory.  RVM will prompt you to replace the .rvmrc file with the two new files. It&amp;#8217;s a worthwhile change, for several reasons. Unlike the .rvmrc file, the two new files contain no shell commands so they don&amp;#8217;t need &amp;#8220;trusting&amp;#8221; and performance is faster. The .ruby-version file is also recognized by other Ruby version switchers such as &lt;a href="https://github.com/postmodern/chruby"&gt;chruby&lt;/a&gt; or &lt;a href="https://github.com/sstephenson/rbenv/"&gt;rbenv&lt;/a&gt; (though the .ruby-gemset file is unique to RVM). I&amp;#8217;m delighted to see movement toward a unified standard. A big thanks to Fletcher Nichol (&lt;a href="https://twitter.com/fnichol"&gt;fnichol&lt;/a&gt;) for &lt;a href="https://gist.github.com/fnichol/1912050"&gt;initiating the unification&lt;/a&gt; effort.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://railsapps.github.com/rails-composer/"&gt;Rails Composer&lt;/a&gt; tool and the &lt;a href="http://railsapps.github.com/rails_apps_composer/"&gt;rails_apps_composer&lt;/a&gt; gem now create the .ruby-version and .ruby-gemset files when you generate a starter application. I&amp;#8217;m upgrading the &lt;a href="http://railsapps.github.com/"&gt;RailsApps example applications&lt;/a&gt; as well.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s details for users making the transition to the new files. If you have a simple .rvmrc file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rvm use ruby-2.0.0@myapp
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It can be transformed to &lt;strong&gt;.ruby-version&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;2.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And &lt;strong&gt;.ruby-gemset&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;myapp
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Be sure to remove the &lt;strong&gt;.rvmrc&lt;/strong&gt; file as it takes precedence over any other project configuration files:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;rm .rvmrc
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Keep in mind that if you&amp;#8217;ve extended your .rvmrc file with custom shell commands you won&amp;#8217;t be able to replace it. No worries though, as RVM will continue to recognize the .rvmrc file.&lt;/p&gt;

&lt;p&gt;For details on how RVM gets configured per project, see a &lt;a href="https://github.com/wayneeseguin/rvm/issues/1676"&gt;discussion&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now is a good time to say thank you to Michal Papis (&lt;a href="https://twitter.com/mpapis"&gt;@mpapis&lt;/a&gt;) for his efforts to improve RVM. As a utility, RVM is not an official part of Rails but it greatly improves the day-to-day developer experience.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/47051459677</link><guid>http://blog.railsapps.org/post/47051459677</guid><pubDate>Wed, 03 Apr 2013 14:41:00 -0700</pubDate></item><item><title>Ruby 2.0 and Rails 4.0</title><description>&lt;p&gt;This week brought a great leap forward for Rails development with the release of Ruby 2.0.0 (final) and Rails 4.0.0 (beta).&lt;/p&gt;

&lt;p&gt;Ruby 2.0 makes Rails much faster. You&amp;#8217;ll love the speed improvement.&lt;/p&gt;

&lt;p&gt;Rails 4 brings new features with new twists on implementing Rails applications. Rails 4 final is a few months away but you can install Rails 4.0.0.beta1 now to get familiar with the changes coming in Rails 4.&lt;/p&gt;

&lt;p&gt;For projects in production, or deploying to production in the next few months, upgrade your applications to Rails 3.2.13 which patches Rails to fully support Ruby 2.0.0.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve written two articles to help you get started with Ruby 2.0 and Rails 4.0.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://railsapps.github.com/installing-rails.html"&gt;Installing Rails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://railsapps.github.com/updating-rails.html"&gt;Updating Rails&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The first article details how to install Ruby 2.0 with two different versions of Rails so you can easily switch between versions to work on production applications or begin work on new applications with Rails 4.0.&lt;/p&gt;

&lt;p&gt;In the second article, I suggest a process to follow in updating Rails applications.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve updated all the RailsApps example applications in the &lt;a href="https://github.com/RailsApps"&gt;RailsApps GitHub repository&lt;/a&gt; to use Rails 3.2.13.rc1 and they all run nicely with Ruby 2.0. The Ruby 2.0 speed improvement is sweet, especially when a Rails application initially launches.&lt;/p&gt;

&lt;p&gt;If you like to generate starter applications for Ruby 2.0 and Rails 3.2, you can use the &lt;a href="http://railsapps.github.com/rails-composer/"&gt;Rails Composer&lt;/a&gt; tool. If you&amp;#8217;ve installed Ruby 2.0 and Rails 3.2.13.rc1, the Rails Composer application template will build any of the example applications as a Rails 3.2.13 application.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ll add a new suite of Rails 4.0 example applications and tutorials to the RailsApps project before Rails 4.0 final is released.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/44389703404</link><guid>http://blog.railsapps.org/post/44389703404</guid><pubDate>Sat, 02 Mar 2013 11:25:00 -0800</pubDate></item><item><title>Rails Apps Composer version 2.2.32</title><description>&lt;p&gt;I released version 2.2.32 of the &lt;a href="https://github.com/RailsApps/rails_apps_composer"&gt;Rails Apps Composer gem&lt;/a&gt; today.&lt;/p&gt;

&lt;p&gt;Haml version 4.0 was released yesterday with a new implementation of the html2haml utility. The Rails Apps Composer gem uses the html2haml tool to convert ERB files to Haml files. That means you can use the Rails Composer tool to create a Haml version for any our example applications.&lt;/p&gt;

&lt;p&gt;I like to use Haml for my own projects because it reduces the clutter in my Rails view templates. See the article &lt;a href="http://railsapps.github.com/rails-haml.html"&gt;Haml and Rails&lt;/a&gt; for a discussion of advantages and drawbacks.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m intrigued by Slim (an ERB or Haml alternative) because I&amp;#8217;ve heard it is fast and even less cluttered than Haml. I found a haml2slim gem to convert Haml templates to Slim templates but it only serves as a preliminary tool for templates conversion. The Rails Composer tool offers an option of using Slim but marks it as &amp;#8220;experimental&amp;#8221; because most view files need to be manually tweaked before they will work.&lt;/p&gt;

&lt;p&gt;I updated a few other gems for the release of version 2.2.32 of Rails Apps Composer (see the &lt;a href="https://github.com/RailsApps/rails_apps_composer/blob/master/CHANGELOG.textile"&gt;changelog&lt;/a&gt;).&lt;/p&gt;</description><link>http://blog.railsapps.org/post/43103607535</link><guid>http://blog.railsapps.org/post/43103607535</guid><pubDate>Thu, 14 Feb 2013 14:51:00 -0800</pubDate></item><item><title>Filling Rails Potholes</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/c12db563dc18120949dd5c5d58f4e455/tumblr_inline_mhh065tFGG1qz4rgp.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Yesterday I was at an open house for &lt;a href="http://codeforamerica.org/"&gt;Code for America&lt;/a&gt; as the organization prepared to send off teams to help ten municipalities improve government services. It&amp;#8217;s a great organization with an admirable mission and I was reminded how our skills as coders give us tools to make an impact on so many ordinary lives. The Code for America Fellows are all doing a service year so they can write apps that help citizens report potholes, monitor the status of neglected homes in blighted areas, and streamline the process of opening new businesses.&lt;/p&gt;

&lt;p&gt;Something similar, improving the ordinary lives of Rails developers, was on my mind as I connected with several Rails developers, including some I met at the 
&lt;a href="http://railsgirls.com/sanfrancisco"&gt;SF Rails Girls&lt;/a&gt; workshop last weekend. You see, I&amp;#8217;d spent most of the afternoon tracking down an issue with &lt;a href="https://github.com/thoughtbot/factory_girl"&gt;FactoryGirl&lt;/a&gt; that had resulted in a storm of GitHub issues for the &lt;a href="https://github.com/RailsApps"&gt;RailsApps example applications&lt;/a&gt; that I maintain. Four days ago, the FactoryGirl maintainers released factory_girl_rails version 4.2.0 and suddenly every application was broken immediately after being generated by the &lt;a href="http://railsapps.github.com/rails-composer/"&gt;Rails Composer&lt;/a&gt; tool.&lt;/p&gt;

&lt;p&gt;The error reports showed that the problem was related to FactoryGirl and I knew that the new version of FactoryGirl had just been released. I saw that several new and inexperienced Rails developers had tried to build applications using the RailsApps examples and were overwhelmed and frustrated, not sure why things were broken and unsure how to proceed. One of my most helpful volunteer contributors stepped up and tried to help but there was nothing in the FactoryGirl changelog or recent commits that offered any clues. It took me a few hours of hunting to determine that factory_girl_rails default behavior when used with RSpec had changed from version 4.1.0 to 4.2.0. See the &lt;a href="https://github.com/thoughtbot/factory_girl_rails/issues/88"&gt;issue&lt;/a&gt;; I don&amp;#8217;t know whether the change was intentional or just an oversight. I&amp;#8217;m now in the process of updating all the example applications and accompanying tutorials to accommodate the change.&lt;/p&gt;

&lt;p&gt;If you work with Rails every day you&amp;#8217;re used to dealing with similar situations. We get used to it. Less than two weeks ago I faced a similar issue. Devise version 2.2.0 changed a default password length. All the example applications broke because the example passwords in database initialization files and tests were too short. I spent a day updating example applications and accompanying tutorials to use longer passwords to accommodate the new Devise default. There are (usually) good reasons that our favorite gems change. As experienced Rails developers, we just deal with it. It goes with the territory. It&amp;#8217;s not so easy for inexperienced developers, hobbyists and people who only work with Rails part-time or occasionally (I&amp;#8217;m thinking particularly of the attendees at last weekend&amp;#8217;s SF Rails Girls workshop).&lt;/p&gt;

&lt;p&gt;Stand back if you are allergic to &lt;a href="http://www.csun.edu/~hcfll004/rhetfig.html"&gt;rhetorical figures&lt;/a&gt; because here comes the metaphor from the title of this post. We&amp;#8217;re dealing with Rails potholes every day. Inevitably there will be potholes when every day we run the big trucks down Main Street. We get used to potholes and drive around them when we commute to work every day. It&amp;#8217;s the out-of-towners who notice all the potholes on their first visit and see the blight we barely notice.&lt;/p&gt;

&lt;p&gt;Appropriately, that was the topic of a conversation at the Code for America open house. I&amp;#8217;d just met &lt;a href="http://about.me/moncef"&gt;Moncef Belyamani&lt;/a&gt;, a Rails developer (and now a 2013 Code for America Fellow) who is an enthusiastic supporter of the RailsApps project. I was telling him that I had just launched the &lt;a href="https://tutorials.railsapps.org/"&gt;RailsApps Tutorials&lt;/a&gt; membership site to support the project but I was doubtful that people would see the benefit of spending $19/month to support the project by paying for access to periodically updated tutorials. He happily convinced me that I was underestimating the value of the project. The project is not fundamentally about delivering tutorials (though they are important). What is more important is the work that goes into keeping the example applications up to date. The real value for the community, both full-time developers and part-timers, is the availability of a reference implementation that uses the gems we use most often.&lt;/p&gt;

&lt;p&gt;Steve Klabnik recently pointed out that &lt;a href="http://words.steveklabnik.com/rails-has-two-default-stacks"&gt;&amp;#8220;Rails has Two Default Stacks&amp;#8221;&lt;/a&gt;. Chances are, if you are building a Rails application, you are going to be using ERB or Haml, MiniTest or RSpec, perhaps Cucumber, Twitter Bootstrap, likely Devise and maybe CanCan. Wouldn&amp;#8217;t it be nice to know they all worked together? They do, on most days. And on the days they don&amp;#8217;t, you can check the RailsApps example applications to see if anyone else is having the same problem. And hopefully find that someone worked out a fix if something is broken. Sometimes the problem is a gem in isolation, in which case the gem&amp;#8217;s repo is the best place to report a problem. But sometimes, like the combination of factory_girl_rails and RSpec, there&amp;#8217;s an integration issue that&amp;#8217;s easiest to identify with a reference implementation.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s what it takes to fix the Rails potholes. We&amp;#8217;ve got an app to report the potholes; it&amp;#8217;s called GitHub issues. We&amp;#8217;ve got a crew to fill the potholes; it&amp;#8217;s the entire community but especially the people who are helping out with the RailsApps project.&lt;/p&gt;

&lt;p&gt;And this is where another metaphor is appropriate: Fresh is not just for milk. Ultimately the utility of any reference implementation depends on how fresh it is.  A blog post from 2009 can show you how to set up FactoryGirl and RSpec but is it still current? I&amp;#8217;m doing all I can to keep the RailsApps example applications up to date. I don&amp;#8217;t always hunt down bugs myself (I prefer to accept pull requests!) but as the project maintainer I&amp;#8217;ve taken on the responsibility to keep the applications current.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s where the RailsApps Tutorials come in. Developers won&amp;#8217;t pay to maintain an up-to-date reference implementation they find on GitHub (it is open source). But people will pay for comprehensive and up-to-date tutorials. By keeping the RailsApps Tutorials up to date, which are supported by the &lt;a href="https://tutorials.railsapps.org/"&gt;$19/month Pro subscription&lt;/a&gt;, I&amp;#8217;m keeping the example applications up to date. Fresh is not just for milk; tutorials and example applications are valuable when they are fresh.&lt;/p&gt;

&lt;p&gt;For more about subscription program, see the post &lt;a href="http://blog.railsapps.org/post/40960545250/railsapps-tutorials"&gt;RailsApps Tutorials Launches&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/41915143594</link><guid>http://blog.railsapps.org/post/41915143594</guid><pubDate>Wed, 30 Jan 2013 18:44:00 -0800</pubDate></item><item><title>RailsApps Tutorials Launches</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/8042c87c8ea37ea5291d09e32bd714cd/tumblr_inline_mgwb99QNrm1qkyz8s.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Hackers need help learning Rails. Not just beginners, but experienced developers making the transition to Rails, and especially people who have completed an introduction and want to take the next step to build real-world web applications. The RailsApps project aims to bridge the gap.&lt;/p&gt;

&lt;p&gt;I released the first RailsApps tutorial two years ago. Since then, I&amp;#8217;ve created eight example applications with accompanying tutorials and over a dozen in-depth articles helping Rails developers. Over time, the example applications have become more ambitious and the tutorials more detailed. Now I&amp;#8217;m going to put the project on a solid footing as a business so it can continue to expand.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve taken the first steps to creating a revenue stream that will support the RailsApps project. This week I&amp;#8217;ve launched the &lt;a href="https://tutorials.railsapps.org/"&gt;RailsApps Tutorials&lt;/a&gt; website. I&amp;#8217;ve done testing of various offers and found visitors are willing to support the project with a $19 monthly membership fee. Consequently, on the site I&amp;#8217;m featuring a &lt;a href="https://tutorials.railsapps.org/"&gt;Pro Subscription Plan&lt;/a&gt;. For $19/month, you too can support the RailsApps project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Applications Are Free&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All the example applications remain publicly available in the &lt;a href="https://github.com/RailsApps"&gt;RailsApps GitHub repository&lt;/a&gt;. This is an open source project and dozens of developers have contributed to the example applications, so of course they must remain free. As open source applications, they attract the constant fixes and improvements that keep an open source project alive and growing. This is the project&amp;#8217;s &lt;strong&gt;first value proposition&lt;/strong&gt;: to provide a reference implementation of common starter apps that can be a basis for real-world Rails applications. The tutorials $19/month Pro Subscription will help us sustain and expand the repository of example applications; the code itself will remain free.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tutorials &amp;#8220;Bridge the Gap&amp;#8221;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Early on, I learned that developers appreciate the project because I write an in-depth tutorial to accompany each example application. There is no &amp;#8220;mystery code&amp;#8221;; the tutorials show each step needed to build a complete working Rails application and more importantly, explain the implementation decisions behind the code. This is the project&amp;#8217;s &lt;strong&gt;second value proposition&lt;/strong&gt;: to bridge the gap between Rails introductions for beginners and the piecemeal advice found on experts’ blogs.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve been told many times, &amp;#8220;You should charge for the tutorials!&amp;#8221; With the &lt;a href="https://tutorials.railsapps.org/"&gt;RailsApps Tutorials&lt;/a&gt; website, I will. However, I believe that basic tutorials should remain free. The tutorials that help a Rails beginner get started with real-world web programming will be available with a free &lt;a href="https://tutorials.railsapps.org/"&gt;Hobo Subscription Plan&lt;/a&gt; (hoboes ride the rails for free!).&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m aware that hobbyist and student developers may also need access to the more advanced tutorials (the Premium tutorials) but may not be able to support the project with a monthly membership. Consequently, an inexpensive &lt;a href="https://tutorials.railsapps.org/"&gt;Student Plan&lt;/a&gt; will allow anyone to download any individual Premium tutorial for a $9 one-time fee. I&amp;#8217;m hoping that visitors who sample a single tutorial will see the value in purchasing access to the entire collection for $19/month and thus support the project&amp;#8217;s ongoing expansion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Value of Maintenance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve discovered users like the example applications, love the tutorials, but appreciate that the project&amp;#8217;s greatest value lies in its ongoing maintenance. Any Rails application or tutorial gets outdated quickly as Rails and its ecosystem of gems go through constant rounds of updates. This is the project&amp;#8217;s &lt;strong&gt;third value proposition&lt;/strong&gt;: keeping the example applications and tutorials up-to-date so developers can find a reference to current implementation practices. This is why I started the project. Every time I came back to working with Rails, even after only a few months, things had changed and I needed to see a current implementation. Ultimately, this is the value of the monthly &lt;a href="https://tutorials.railsapps.org/"&gt;Pro Subscription Plan&lt;/a&gt;. Professional developers have shown me they will support a project that provides up-to-date code and tutorials in the ever-changing Rails ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Would You Like to Be a Hero?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Based on feedback from developers who work in the corporate world, I&amp;#8217;m offering the &lt;a href="https://tutorials.railsapps.org/"&gt;Hero Subscription Plan&lt;/a&gt;. It gives you subscriptions for everyone on a team. In the enterprise it is easier to pay for a yearly subscription than to receive an invoice every month. At $349 a year, the cost for the entire team is less than the cost for two Pro subscriptions. If you&amp;#8217;re in a position to make a purchase on your company&amp;#8217;s corporate card, please consider supporting the RailsApps project with a purchase of the Hero Plan. You&amp;#8217;ll be a hero to everyone on your team and you&amp;#8217;ll be a hero by supporting a project that benefits the entire Rails community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From Hoboes to Heroes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope you see the wisdom in monetizing the Premium tutorials as a way to support the growth of the RailsApps project. And I hope you see the value in offering a variety of subscription plans to accommodate all users. So far, in the first days since launch, most of the subscriptions have been for the Hobo Plan. After all, everyone likes something for free. I hope over time, more people will see the long-term value in supporting the project with a &lt;a href="https://tutorials.railsapps.org/"&gt;Pro Subscription&lt;/a&gt; or &lt;a href="https://tutorials.railsapps.org/"&gt;Hero Subscription&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;How about you? Is the project valuable to you? Can you support it with a purchase of a subscription plan? Please let me know &amp;#8212; by clicking &amp;#8220;Subscribe&amp;#8221; on the &lt;a href="https://tutorials.railsapps.org/"&gt;RailsApps Tutorials&lt;/a&gt; website.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/40960545250</link><guid>http://blog.railsapps.org/post/40960545250</guid><pubDate>Sat, 19 Jan 2013 15:17:00 -0800</pubDate></item><item><title>Setting Local Environment Variables in Rails</title><description>&lt;p&gt;As our RailsApps applications grow more popular, help requests are growing more frequent. Particularly with the release of the &lt;a href="http://railsapps.github.com/rails-stripe-membership-saas/"&gt;rails-stripe-membership-saas&lt;/a&gt; application, I&amp;#8217;ve seen people having trouble with setting Unix environment variables. Granted, if you&amp;#8217;re doing development with Rails, you really should be able to sort out your own problems with Unix environment variables. But telling newbies to school up is not really a solution. And sometimes the problems stem from rvm or other local shell complexities. Taylor Mock saw the problem and stepped up with solutions on two fronts. First, test suites to identify if the API keys required by the application are set properly; and second, a clever solution to set local environment variables through Rails, rather than the Unix shell.&lt;/p&gt;

&lt;p&gt;Taylor Mock&amp;#8217;s implementation takes advantage of Ruby’s ability to set environment variables as well as read them. We create a file named &lt;strong&gt;config/local_env.example.yml&lt;/strong&gt; and then add some code to the Rails &lt;strong&gt;config/application.rb&lt;/strong&gt; file to read key/value pairs from a YAML structure and set environment variables that can be used elsewhere in the Rails application. The result? A bulletproof way to set environment variables without the Unix shell.&lt;/p&gt;

&lt;p&gt;Our approach was &lt;a href="http://news.ycombinator.com/item?id=4918484"&gt;discussed on Hacker News&lt;/a&gt; today and several people suggested using the &lt;a href="https://github.com/laserlemon/figaro"&gt;figaro gem&lt;/a&gt; which provides a similar implementation.&lt;/p&gt;

&lt;p&gt;If you use the &lt;a href="http://railsapps.github.com/rails_apps_composer/"&gt;rails_apps_composer&lt;/a&gt; gem or the &lt;a href="http://railsapps.github.com/rails-composer/"&gt;Rails Composer&lt;/a&gt; tool, there&amp;#8217;s now an option to use the figaro gem and a &lt;strong&gt;config/application.yml&lt;/strong&gt; file to set local environment variables.&lt;/p&gt;

&lt;p&gt;For more about the solution, see the article &lt;a href="http://railsapps.github.com/rails-environment-variables.html"&gt;Rails Environment Variables&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Special thanks to &lt;a href="http://about.me/taylormock"&gt;Taylor Mock&lt;/a&gt; this week. He&amp;#8217;s making significant contributions to the RailsApps project with a combination of intelligence and dedication that&amp;#8217;s overcoming obstacles and moving the project forward.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/37836809284</link><guid>http://blog.railsapps.org/post/37836809284</guid><pubDate>Thu, 13 Dec 2012 08:05:00 -0800</pubDate></item><item><title>“Better Errors” Now an Option in Rails Composer

The...</title><description>&lt;img src="http://24.media.tumblr.com/861f6bdf18be7fcbba24258eabc624d5/tumblr_mespdeyhMH1qmvhqto1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;“Better Errors” Now an Option in Rails Composer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/charliesome/better_errors"&gt;Better Errors gem&lt;/a&gt; replaces the standard Rails error page with a much better and more useful error page. Better_errors is now an option when generating an application template with the &lt;a href="http://railsapps.github.com/rails_apps_composer/"&gt;rails_apps_composer gem&lt;/a&gt; or the &lt;a href="http://railsapps.github.com/rails-composer/"&gt;Rails Composer tool&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/37611816566</link><guid>http://blog.railsapps.org/post/37611816566</guid><pubDate>Sun, 09 Dec 2012 19:22:26 -0800</pubDate></item><item><title>"Unholy Rails" Explained</title><description>&lt;p&gt;Most of the attention for the RailsApps project has come from people who &lt;a href="http://twitter.com/rails_apps"&gt;follow me on Twitter&lt;/a&gt; plus occasional announcements on the &lt;a href="http://www.rubyflow.com/"&gt;RubyFlow&lt;/a&gt; community blog.&lt;/p&gt;

&lt;h2&gt;HN&lt;/h2&gt;

&lt;p&gt;Yesterday was awesome. My most recent article was &lt;a href="http://news.ycombinator.com/item?id=4577469"&gt;discussed on Hacker News&lt;/a&gt;. You probably know it: HN is a popular discussion forum, probably the most active at the intersection of startups and coding. Making the front page of HN results in a lot of traffic. More importantly, the HN community is smart and often expert so comments are informative.&lt;/p&gt;

&lt;p&gt;I was gratified the article got attention because I&amp;#8217;d worked on it for more than two weeks, far longer than I expected (or wanted). The topic is complex and it was difficult to ascertain recommended practices. I solicited feedback from several experts and got great advice. It took a lot of time but I eventually got the clarity I wanted.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s the article:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://railsapps.github.com/rails-javascript-include-external.html"&gt;Unholy Rails: External Scripts, jQuery Plugins, and Page-Specific JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article explains what to do when your application is not wholly Rails (hence the cute title).&lt;/p&gt;

&lt;h2&gt;Why Did I Do It?&lt;/h2&gt;

&lt;p&gt;Why did I make the effort to write the article? It certainly wasn&amp;#8217;t for glory. The topic is a peculiar and obscure corner of Rails development practice that is not well documented. Despite the brief HN notoriety, the article will not get much traffic, save from a handful of desperate Google searches.&lt;/p&gt;

&lt;p&gt;I got sidetracked into researching the article simply because I needed to know the best way to handle external JavaScript libraries and I couldn&amp;#8217;t find authoritative answers.&lt;/p&gt;

&lt;h2&gt;My Current Project&lt;/h2&gt;

&lt;p&gt;Now that the article is complete, I&amp;#8217;m going back to the current project, which is an effort to write a Rails tutorial for a membership site.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m showing how to build a subscription-based SaaS site that uses Stripe to manage recurring billing. It will be a few more weeks before the example application is complete (with the tutorial) but I expect it will be popular.&lt;/p&gt;

&lt;h2&gt;Would You Pay for Premium Tutorials?&lt;/h2&gt;

&lt;p&gt;While I&amp;#8217;ve been working on the membership site example application, I&amp;#8217;ve been running tests to see if there is a market for subscription-based access to premium tutorials. I&amp;#8217;m pleased to see many developers are willing to pay for the tutorials I&amp;#8217;ve been writing. Many people have urged me to find a business model to sustain the growth of the RailsApps project (and keep me writing) and it looks like I&amp;#8217;ve found one: continuing to offer the example applications on GitHub for free and offering subscriptions for some of the tutorials.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ll use my own membership site example application to host the tutorials when I&amp;#8217;ve finished the example application.&lt;/p&gt;

&lt;h2&gt;Necessary Detours&lt;/h2&gt;

&lt;p&gt;The &amp;#8220;Unholy Rails&amp;#8221; article was a detour, but a necessary one. It&amp;#8217;s the nature of the project. I start out writing a useful example application, one that almost everyone needs, and I document all the development decisions and procedural steps as I build it. When I encounter something that is poorly understood, such as use of JavaScript libraries in Rails, it&amp;#8217;s down the rabbit hole for me, until I get enough information to identify recommended practices and explain the issues. This time, when I came back up from the rabbit hole, there was a crowd on Hacker News cheering me on.&lt;/p&gt;

&lt;p&gt;As always, thanks for the encouragement, it&amp;#8217;s what fuels the project.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/32411200772</link><guid>http://blog.railsapps.org/post/32411200772</guid><pubDate>Thu, 27 Sep 2012 13:43:41 -0700</pubDate></item><item><title>What's New in Rails Apps Composer</title><description>&lt;p&gt;Just to recap, the &lt;a href="https://github.com/RailsApps/rails_apps_composer"&gt;Rails Apps Composer gem&lt;/a&gt; installs a command line tool to assemble a Rails application from a collection of &amp;#8220;recipes.&amp;#8221; It&amp;#8217;s useful for creating and maintaining starter apps. I use it to maintain the &lt;a href="http://railsapps.github.com/"&gt;RailsApps project&lt;/a&gt; example applications.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://railsapps.github.com/images/rails-apps-composer.png" title="Rails Apps Composer" alt="Rails Apps Composer"/&gt;&lt;/p&gt;

&lt;h2&gt;Progress Report&lt;/h2&gt;

&lt;p&gt;Six weeks ago, I announced an &lt;a href="http://blog.railsapps.org/post/27141616818/roadmap-for-rails-apps-composer-gem-2-0"&gt;ambitious roadmap&lt;/a&gt; for Rails Apps Composer version 2.0.&lt;/p&gt;

&lt;p&gt;I wanted to fix version 1.0&amp;#8217;s shortcomings. It was cumbersome and difficult to maintain. I had a short list of ambitious improvements. I spent two weeks in coding, then a week writing detailed documentation (the &lt;a href="http://railsapps.github.com/tutorial-rails-apps-composer.html"&gt;Guide to the Rails Apps Composer Gem&lt;/a&gt;). After three weeks of concerted effort, I released Rails Apps Composer version 2.0, meeting my goals for improvement.&lt;/p&gt;

&lt;p&gt;Now, three weeks after releasing version 2.0, with a rapid succession of releases, we&amp;#8217;re at Rails Apps Composer version 2.2. I&amp;#8217;ve gotten excellent code contributions from some capable and enthusiastic developers: notably Jim Riordan, tomykaira, Tom Scott, Michaël Witrant, and Vitaly Kushner. For me, it&amp;#8217;s a great feeling to clean up a project and bring it closer to my vision. It&amp;#8217;s even better when strangers see the value in the project and jump in to add features that exceed my ambitions. Thanks!&lt;/p&gt;

&lt;p&gt;Of course, I&amp;#8217;m particularly obligated to Michael Bleigh because Rails Apps Composer would not be possible without his creation of the original RailsWizard gem.&lt;/p&gt;

&lt;h2&gt;What&amp;#8217;s New&lt;/h2&gt;

&lt;p&gt;Here&amp;#8217;s a summary of the top features you&amp;#8217;ll find in Rails Apps Composer version 2.2.&lt;/p&gt;

&lt;p&gt;A &amp;#8220;quiz&amp;#8221; queries the user for preferences, including:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;webserver (WEBrick, Thin, Unicorn, Puma)&lt;/li&gt;
&lt;li&gt;database (SQLite, PostgreSQL, MySQL, MongoDB)&lt;/li&gt;
&lt;li&gt;template engine (ERB, Haml, Slim)&lt;/li&gt;
&lt;li&gt;testing (Test::Unit, RSpec, Capybara, Cucumber)&lt;/li&gt;
&lt;li&gt;fixture replacement (Factory Girl, Machinist)&lt;/li&gt;
&lt;li&gt;front-end framework (Twitter Bootstrap, Zurb Foundation, Skeleton)&lt;/li&gt;
&lt;li&gt;email (Gmail, SMTP, SendGrid, Mandrill)&lt;/li&gt;
&lt;li&gt;authentication (Devise, OmniAuth)&lt;/li&gt;
&lt;li&gt;authorization (CanCan with Rolify)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The program will also:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;create a GitHub repo&lt;/li&gt;
&lt;li&gt;create a project-specific rvm gemset and .rvmrc&lt;/li&gt;
&lt;li&gt;set a robots.txt file to ban spiders&lt;/li&gt;
&lt;li&gt;add &amp;#8216;therubyracer&amp;#8217; JavaScript runtime for Linux users&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Gems can be added at a prompt without writing custom recipes.&lt;/p&gt;

&lt;p&gt;To skip the quiz, the user can create a defaults file specifying recipes, gems, and preferences.&lt;/p&gt;

&lt;p&gt;A user can write local recipes that can be added to the mix without forking the gem.&lt;/p&gt;

&lt;p&gt;A new ‘copy_from_repo’ method adds powerful downloading of files to any recipe.&lt;/p&gt;

&lt;p&gt;Downloading of files from the example app repos reduces the complexity of recipes.&lt;/p&gt;

&lt;p&gt;The ‘copy_from_repo’ method converts ERB files to Haml or Slim at the user&amp;#8217;s option.&lt;/p&gt;

&lt;p&gt;A &amp;#8216;rails apps&amp;#8217; recipe generates any of the &lt;a href="http://railsapps.github.com/"&gt;RailsApps project&lt;/a&gt; example applications.&lt;/p&gt;

&lt;p&gt;Lastly, a diagnostics module creates a README file that displays a list of recipes, gems, and preferences selected to create an application. The diagnostics make it easier to debug integration issues and identify which combinations of recipes, gems, and preferences work well together.&lt;/p&gt;

&lt;p&gt;Rails Apps Composer version 2.2 is very powerful. Take a look at the &lt;a href="http://railsapps.github.com/tutorial-rails-apps-composer.html"&gt;Guide to the Rails Apps Composer Gem&lt;/a&gt; to learn about all its features.&lt;/p&gt;

&lt;p&gt;The gem brings us closer to the possibility of automatic assembly of real world Rails applications. We can now build starter apps (and maintain them with the collaboration of an open source community) that are much more powerful than the starter apps we had a few years ago. Even though Rails itself has gotten more complex and powerful.&lt;/p&gt;

&lt;p&gt;With the new Rails Apps Composer, I&amp;#8217;ve been able to build the &lt;a href="http://railsapps.github.com/rails-composer/"&gt;Rails Composer&lt;/a&gt; tool which can generate any of the five &lt;a href="http://railsapps.github.com/"&gt;RailsApps project&lt;/a&gt; example applications from a single command. Five apps is just a start; I&amp;#8217;ve got more high-quality, complex example applications in the works.&lt;/p&gt;

&lt;h2&gt;The Future&lt;/h2&gt;

&lt;p&gt;There are a few recipes I&amp;#8217;d like to add in the near future. Top of the list is a deploy recipe that would offer the option of immediate deployment to Heroku, CloudFoundry, or EngineYard.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m also looking forward to new surprises coming from the developers who use the Rails Apps Composer gem. Thank you to all for making this a successful open source project!&lt;/p&gt;

&lt;p&gt;Got a suggestion for a recipe or a feature you&amp;#8217;d like to see in Rails Apps Composer? &lt;a href="http://blog.railsapps.org/post/30286200597/whats-new-in-rails-apps-composer-2-2#comments"&gt;Leave a comment&lt;/a&gt;. Are we making it easier to build starter apps?&lt;/p&gt;</description><link>http://blog.railsapps.org/post/30286200597</link><guid>http://blog.railsapps.org/post/30286200597</guid><pubDate>Sun, 26 Aug 2012 18:50:00 -0700</pubDate></item><item><title>Roadmap for Rails Apps Composer Gem 2.0</title><description>&lt;p&gt;I&amp;#8217;m planning changes to the rails_apps_composer gem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/RailsApps/rails_apps_composer"&gt;Rails Apps Composer&lt;/a&gt; is a gem with recipes to create Rails application templates you can use to generate Rails starter apps. It creates ready-to-run Rails web applications and makes it easy to create and maintain a starter app.&lt;/p&gt;

&lt;p&gt;If you use the gem, &lt;a href="http://gopollgo.com/does-the-rails-apps-composer-gem-need-improvements"&gt;please take a poll&lt;/a&gt; to let me know whether the app is useful or needs improvements. You can also make suggestions for improvements.&lt;/p&gt;

&lt;p&gt;The rails_apps_composer gem is at the core of the RailsApps project. It generates the application templates and, in turn, the example apps. The rails_apps_composer gem is used by dozens of developers to maintain their own starter apps as well as starter apps from the RailsApps project. Maintaining the rails_apps_composer gem is key to keeping the example apps and tutorials current as the ecosystem of gems (and Rails itself) evolves. Right now, the gem is difficult to use, largely because it is structured around recipes that combine various popular gems with code that tweaks templates to accommodate each gem&amp;#8217;s particular requirements. Frankly, the recipes are difficult to read and poorly organized. I intend to develop a rails_apps_composer version 2.0 that restructures the recipes and moves most of the code tweaking out of the recipes and into downloaded template files.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s what I plan for rails_apps_composer 2.0:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;improve the &amp;#8220;quiz&amp;#8221; that sets up the starter app&lt;/li&gt;
&lt;li&gt;offer recipes for more complex and fully functional starter apps&lt;/li&gt;
&lt;li&gt;base recipes on functionality (authentication, testing) instead of gems (Devise, RSpec)&lt;/li&gt;
&lt;li&gt;reduce the manipulation of files with &amp;#8216;gsub&amp;#8217; and use more downloaded template files&lt;/li&gt;
&lt;li&gt;make it easier for developers to understand the code and make contributions&lt;/li&gt;
&lt;li&gt;generate a README for any starter app that shows which gems are used&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Please make suggestions for improvements you&amp;#8217;d like to see.&lt;/p&gt;

&lt;p&gt;You can see the &lt;a href="http://gopollgo.com/does-the-rails-apps-composer-gem-need-improvements"&gt;poll results here&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/27141616818</link><guid>http://blog.railsapps.org/post/27141616818</guid><pubDate>Fri, 13 Jul 2012 12:50:26 -0700</pubDate></item><item><title>Rails Apps Composer version 1.5.5</title><description>&lt;p&gt;I released version 1.5.5 of the &lt;a href="https://github.com/RailsApps/rails_apps_composer"&gt;Rails Apps Composer gem&lt;/a&gt; today. Versions 1.5.3 and 1.5.4 were released within the past two weeks. It’s the gem you can use to generate a Rails starter app.&lt;/p&gt;

&lt;p&gt;Version 1.5.5 is primarily intended to accommodate the release of &lt;a href="http://mongoid.org/en/mongoid/index.html"&gt;Mongoid 3.0&lt;/a&gt;. This version and recent versions also offer a number of gem updates and small improvements. See the &lt;a href="https://github.com/RailsApps/rails_apps_composer/blob/master/CHANGELOG.textile"&gt;CHANGELOG&lt;/a&gt; for details.&lt;/p&gt;

&lt;p&gt;There are new recipes for &lt;a href="https://github.com/jnicklas/turnip/"&gt;turnip&lt;/a&gt; (a Gherkin extension for RSpec) and &lt;a href="http://unicorn.bogomips.org/"&gt;unicorn&lt;/a&gt; (recommended as a faster web server).&lt;/p&gt;

&lt;p&gt;Thank you for contributions to this update:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Jim Riordan&lt;/li&gt;
&lt;li&gt;Bradley Grzesiak&lt;/li&gt;
&lt;li&gt;Earl St Sauver&lt;/li&gt;
&lt;li&gt;Andrew J Vargo&lt;/li&gt;
&lt;li&gt;Michel Pavan Macedo&lt;/li&gt;
&lt;li&gt;ngottlieb&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;With this release I’ve updated the application templates which are used to create and update the &lt;a href="https://github.com/RailsApps"&gt;RailsApps example applications&lt;/a&gt;. And each example app has been updated to match the version generated by the templates.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/27139695112</link><guid>http://blog.railsapps.org/post/27139695112</guid><pubDate>Fri, 13 Jul 2012 12:19:00 -0700</pubDate></item><item><title>Bug Fix for Rails Prelaunch Signup App</title><description>&lt;p&gt;Closed &lt;a href="https://github.com/RailsApps/rails-prelaunch-signup/issues/7"&gt;issue #7&lt;/a&gt; for the &lt;a href="http://railsapps.github.com/rails-prelaunch-signup/"&gt;Rails Prelaunch Signup App&lt;/a&gt;. When visitors requested an invitation, a new account was created, and a password was created. Turns out I&amp;#8217;d overlooked some code in the application.js file that was creating a password with the value &amp;#8220;undefined.&amp;#8221; I&amp;#8217;ve fixed the bug by cleaning up the Javascript. Now it works as it should. When the administrator invites the user to confirm his or her account, the user will be prompted to choose a password.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;ve been running the app in production and have collected real visitor invitation requests, you&amp;#8217;ll need to perform a bulk update to your database, setting the encrypted password field to null for all users except the administrator. If you don&amp;#8217;t update the database, any visitor you invite will not be abel to set a password for their account.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/25797604547</link><guid>http://blog.railsapps.org/post/25797604547</guid><pubDate>Sun, 24 Jun 2012 12:20:00 -0700</pubDate></item><item><title>Soft Launch for Rails Prelaunch Signup App</title><description>&lt;p&gt;This is my favorite of all the example apps I&amp;#8217;ve built. And it keeps getting better and better!&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m in the middle of a &amp;#8220;soft launch&amp;#8221; for the app, which means I haven&amp;#8217;t made a promotional push, but the app has been mentioned on Hacker News (with some &lt;a href="http://news.ycombinator.com/item?id=4120417"&gt;very nice comments about the RailsApps project&lt;/a&gt;, too). I&amp;#8217;m gathering user feedback and improving the app and the tutorial.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve created a project page for the app subtitled, &lt;a href="http://railsapps.github.com/rails-prelaunch-signup/"&gt;&amp;#8220;An example Rails 3.2 app for a web startup prelaunch site.&amp;#8221;&lt;/a&gt; When you visit the page, please give it a tweet (use the tweet button). This is a great time to let people know about the app, so I can gather feedback and make any needed improvements.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/25541450888</link><guid>http://blog.railsapps.org/post/25541450888</guid><pubDate>Wed, 20 Jun 2012 17:45:00 -0700</pubDate></item><item><title>Version Updates for Rails 3.2.6</title><description>&lt;p&gt;Today I updated all the &lt;a href="https://github.com/RailsApps"&gt;RailsApps example apps&lt;/a&gt; to use Rails 3.2.6. Changes are minor.&lt;/p&gt;

&lt;p&gt;Rails 3.2.6 was released eight days ago. No new features, just two important security fixes. See the announcement &lt;a href="http://weblog.rubyonrails.org/2012/6/12/ann-rails-3-2-6-has-been-released/"&gt;&amp;#8220;Rails version 3.2.6 has been released.&amp;#8221;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I released Rails Apps Composer versions 1.5.1 and 1.5.2 just before that, with updates to some gem versions, a fix for an incompatibility between Rolify 3.1 and Mongoid, and a &amp;#8220;prelaunch_signup&amp;#8221; recipe. See the &lt;a href="https://github.com/RailsApps/rails_apps_composer/blob/master/CHANGELOG.textile"&gt;changelog for details&lt;/a&gt;. No important features, just maintenance plus support for the new Rails Prelaunch Signup example app.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve updated all the application generator templates in the &lt;a href="https://github.com/RailsApps/rails3-application-templates"&gt;rails3-application-templates repository&lt;/a&gt; to conform to Rails Apps Composer version 1.5.2.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/25540361841</link><guid>http://blog.railsapps.org/post/25540361841</guid><pubDate>Wed, 20 Jun 2012 17:28:47 -0700</pubDate></item><item><title>Rails Apps Composer version 1.5.0</title><description>&lt;p&gt;I&amp;#8217;ve released version 1.5.0 of the &lt;a href="https://github.com/RailsApps/rails_apps_composer" target="_blank"&gt;Rails Apps Composer gem&lt;/a&gt;. It&amp;#8217;s a gem you can use to generate a Rails starter app. Makes it easy to create and maintain a starter app from recipes that integrate commonly used gems.&lt;/p&gt;
&lt;p&gt;This release includes a major new feature contributed by &lt;a href="http://twitter.com/bryanstearns" target="_blank"&gt;Bryan Stearns&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For the first time, you can create a &amp;#8220;defaults&amp;#8221; file so every time you generate an app, you can use the same set of recipes and preferences. Bryan Stearns really gave the feature a lot of thought, so it is very flexible. I&amp;#8217;ve expanded the &lt;a href="https://github.com/RailsApps/rails_apps_composer" target="_blank"&gt;README&lt;/a&gt; to explain all that you can do with the Rails Apps Composer gem.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s been exactly a year since I saw that the popular &lt;a href="https://github.com/intridea/rails_wizard" target="_blank"&gt;Rails Wizard gem&lt;/a&gt; was no longer maintained and forked the code to create the Rails Apps Composer gem. In the last year, dozens of developers have contributed features, recipes, and patches. Over &lt;a href="https://github.com/RailsApps/rails_apps_composer/watchers" target="_blank"&gt;400 people are watching the project on GitHub&lt;/a&gt;. I&amp;#8217;ve been focused on using the gem to maintain the example apps for the &lt;a href="http://railsapps.github.com/" target="_blank"&gt;RailsApps project&lt;/a&gt; and sometimes I forget that a lot of other people are using the gem, too. But I try to keep up with the stream of pull requests and issues. I initially hesitated to fork the Rails Wizard gem but now I feel it was worthwhile.&lt;/p&gt;
&lt;p&gt;In the last month, there&amp;#8217;s been renewed interest in the idea of generating starter apps for Rails. Probably because Rails continues to get more complicated and a gem like Rails Apps Composer helps to reduce the burden of integrating various popular gems into a Rails app. I&amp;#8217;m aware of a similar project from &lt;a href="https://twitter.com/whoisdandavey" target="_blank"&gt;Daniel Davey&lt;/a&gt;: the &lt;a href="https://github.com/jeriko/app_drone" target="_blank"&gt;app_drone gem&lt;/a&gt; which is the basis of the &lt;a href="http://drone.bz/" target="_blank"&gt;drone.bz&lt;/a&gt; website. And last month, &lt;a href="http://twitter.com/drnic" target="_blank"&gt;Dr. Nic Williams&lt;/a&gt; of EngineYard forked the Rails Wizard gem to create his &lt;a href="http://appscrolls.org/" target="_blank"&gt;App Scrolls&lt;/a&gt; gem. I&amp;#8217;ve made a list of Rails &lt;a href="http://railsapps.github.com/rails-application-templates.html" target="_blank"&gt;application template projects&lt;/a&gt; if you&amp;#8217;re interested. I&amp;#8217;d love to see a united effort in this area to avoid duplication of effort. I&amp;#8217;m not sure if that will be possible, given a divergent codebase, but I&amp;#8217;d like to explore it.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;</description><link>http://blog.railsapps.org/post/23519566509</link><guid>http://blog.railsapps.org/post/23519566509</guid><pubDate>Mon, 21 May 2012 19:00:00 -0700</pubDate></item><item><title>Rails Apps Composer version 1.4.12</title><description>&lt;p&gt;I&amp;#8217;ve released version 1.4.12 of the &lt;a href="https://github.com/RailsApps/rails_apps_composer" target="_blank"&gt;Rails Apps Composer&lt;/a&gt; gem.&lt;/p&gt;
&lt;p&gt;This is a minor release. There is one significant feature:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;send email via SMTP, Gmail, or SendGrid accounts&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The SendGrid option will be useful for the &lt;a href="https://github.com/RailsApps/rails-prelaunch-signup" target="_blank"&gt;rails-prelaunch-signup app&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://github.com/RailsApps/rails_apps_composer/blob/master/CHANGELOG.textile" target="_blank"&gt;rails_apps_composer CHANGELOG&lt;/a&gt; lists the improvements.&lt;/p&gt;
&lt;p&gt;With this release I&amp;#8217;ve updated the &lt;a href="https://github.com/RailsApps/rails3-application-templates" target="_blank"&gt;application templates&lt;/a&gt; which are used to create and update the RailsApps example applications.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/23255582598</link><guid>http://blog.railsapps.org/post/23255582598</guid><pubDate>Thu, 17 May 2012 16:19:17 -0700</pubDate></item><item><title>Rails Apps Composer version 1.4.10</title><description>&lt;p&gt;I&amp;#8217;ve released version 1.4.10 of the &lt;a href="https://github.com/RailsApps/rails_apps_composer" target="_blank"&gt;Rails Apps Composer&lt;/a&gt; gem.&lt;/p&gt;
&lt;p&gt;This is a minor release. It adds several small improvements and bug fixes. The rails_apps_composer &lt;a href="https://github.com/RailsApps/rails_apps_composer/blob/master/CHANGELOG.textile" target="_blank"&gt;CHANGELOG&lt;/a&gt; lists the improvements.&lt;/p&gt;
&lt;p&gt;Thank you to &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Alex Kravets&lt;/li&gt;
&lt;li&gt;nrser&lt;/li&gt;
&lt;li&gt;allen13&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;for identifying and reporting the issues that prompted this update.&lt;/p&gt;
&lt;p&gt;With this release I&amp;#8217;ve updated the &lt;a href="https://github.com/RailsApps/rails3-application-templates" target="_blank"&gt;application templates&lt;/a&gt; which are used to create and update the &lt;a href="https://github.com/RailsApps" target="_blank"&gt;RailsApps example applications&lt;/a&gt;. And each example app has been updated to match the version generated by the templates.&lt;/p&gt;</description><link>http://blog.railsapps.org/post/22884857961</link><guid>http://blog.railsapps.org/post/22884857961</guid><pubDate>Fri, 11 May 2012 21:25:46 -0700</pubDate></item></channel></rss>
