title: save_and_open_page (capybara / launchy) stopped working in a project - error
body: <p>Trying to debug a section of specs that I cannot get to work when merging Rails two projects.</p>
  
  <p>I have deleted my Gemfile.lock and re-installed from scratch, I have run bundle update on specific gems, and the whole lot but am getting an error when I try to use in my request spec</p>
  
  <p>save_and_open_page</p>
  
  <pre><code>railsdev$ bin/rspec spec/requests/authentication_pages_spec.rb 
  No DRb server is running. Running in local process instead ...
  /Users/rb/Repos/Genie/spec/requests/authentication_pages_spec.rb:33:in `block (3 levels) in &lt;top (required)&gt;': undefined local variable or method `save_and_open_page' for #&lt;Class:0x007f981d139608&gt; (NameError)
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in `module_eval'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in `subclass'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:187:in `describe'
      from /Users/rb/Repos/Genie/spec/requests/authentication_pages_spec.rb:27:in `block (2 levels) in &lt;top (required)&gt;'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in `module_eval'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in `subclass'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:187:in `describe'
      from /Users/rb/Repos/Genie/spec/requests/authentication_pages_spec.rb:24:in `block in &lt;top (required)&gt;'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in `module_eval'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in `subclass'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:187:in `describe'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/dsl.rb:18:in `describe'
      from /Users/rb/Repos/Genie/spec/requests/authentication_pages_spec.rb:13:in `&lt;top (required)&gt;'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `load'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `block in load_spec_files'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `map'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `load_spec_files'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:22:in `run'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:66:in `rescue in run'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:62:in `run'
      from /Users/rb/.rvm/gems/ruby-1.9.3-p125@genie/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun'
  </code></pre>
  
  <p>Can anyone suggest why its failing and what I need to do to rectify this?</p>
  
  <p>I have it running in a test project, but in the master copy of the core project I don't want to be mucking this up.</p>
  
  <p>EDIT#1</p>
  
  <p>Code as requested:</p>
  
  <pre><code>require 'spec_helper'
  
  # describe "AuthenticationPages" do
  #   describe "GET /authentication_pages" do
  #     it "works! (now write some real specs)" do
  #       # Run the generator again with the --webrat flag if you want to use webrat methods/matchers
  #       get authentication_pages_index_path
  #       response.status.should be(200)
  #     end
  #   end
  # end
  
  describe "Authentication" do
  
    subject { page }
  
    describe "login page" do
      before { visit login_path }
  
      it { should have_selector('h1',    text: 'Login') }
      it { should have_selector('title', text: 'Login') }
    end
  
    describe "login" do
      before { visit login_path }
  
      describe "with invalid information" do
        before { click_button "Login" }
  
        it { should have_selector('title', text: 'Login') }
        it { should have_error_message('Invalid') }
  
        save_and_open_page
  
        describe "after visiting another page" do
          before { click_link "Home" }
          it { should_not have_selector('div.alert.alert-error') }
        end
      end
  
      describe "with valid information" do
        let(:user) { FactoryGirl.create(:user) }
        before { valid_login(user) }
  
        it { should have_selector('title', text: user.name) }
        #it { should have_link('Profile', href: user_path(user)) }
        it { should have_link('Logout', href: logout_path) }
        it { should_not have_link('Login', href: login_path) }
  
        describe "followed by logout" do
          before { click_link "Logout" }
          it { should have_link('Login') }
        end
      end
    end
  
    describe "authorization" do
  
      describe "for non-logged-in users" do
        let(:user) { FactoryGirl.create(:user) }
  
        describe "when attempting to visit a protected page" do
          before do
            visit edit_user_path(user)
            fill_in "Name",    with: user.name
            fill_in "Password", with: user.password
            click_button "Login"
          end
  
          describe "after logging in" do
  
            it "should render the desired protected page" do
              page.should have_selector('title', text: 'Edit user')
            end
          end
        end
  
        describe "in the Users controller" do
  
          describe "visting the user index" do
              before { visit users_path }
              it { should have_selector('title', text: 'Login') }
          end
  
          describe "visiting the edit page" do
            before { visit edit_user_path(user) }
            it { should have_selector('title', text: 'Login') }
          end
  
          describe "submitting to the update action" do
            before { put user_path(user) }
            specify { response.should redirect_to(login_path) }
          end
        end
      end
  
      describe "as wrong user" do
        let(:user) { FactoryGirl.create(:user) }
        let(:wrong_user) { FactoryGirl.create(:user, name: "WrongName") }
        before { login user }
  
        describe "visiting Users#edit page" do
          before { visit edit_user_path(wrong_user) }
          it { should_not have_selector('title', text: full_title('Edit user')) }
        end
  
        describe "submitting a PUT request to the Users#update action" do
          before { put user_path(wrong_user) }
          specify { response.should redirect_to(root_path) }
        end
      end
    end
  end
  </code></pre>
  
  <p>Gemfile:</p>
  
  <pre><code>source 'https://rubygems.org'
  
  gem 'rails', '3.2.5'
  
  # Bundle edge Rails instead:
  # gem 'rails', :git =&gt; 'git://github.com/rails/rails.git'
  
  group :development, :test do
    gem 'sqlite3', '1.3.5'
    gem "rspec-rails", "~&gt; 2.10.1"
    gem 'guard-rspec', '0.5.5'
    gem 'annotate', '~&gt; 2.4.1.beta'
    gem 'pickle'
    gem 'simplecov'
    gem 'pg', '0.12.2'
    gem 'capybara', '1.1.2'
    gem 'launchy'   
  end
  
  # Gems used only for assets and not required
  # in production environments by default.
  group :assets do
    gem 'sass-rails',   '~&gt; 3.2.4'
    gem 'coffee-rails', '~&gt; 3.2.2'
    gem 'uglifier', '&gt;= 1.2.3'
    gem 'bootstrap-sass', '~&gt; 2.0.3.1'
    # See https://github.com/sstephenson/execjs#readme for more supported runtimes
    # gem 'therubyracer', :platform =&gt; :ruby    
  end
  
  gem 'jquery-rails', '2.0.2'
  gem 'bootstrap-will_paginate', '0.0.5'
  gem 'bootstrap-datepicker-rails'
  gem 'will_paginate', '3.0.3'
  gem 'faker', '1.0.1'
  gem 'wicked_pdf'
  
  # To use ActiveModel has_secure_password
  gem 'bcrypt-ruby', '3.0.1'
  
  #gem 'ransack'
  gem 'cancan'
  
  # Test gems on Macintosh OS X
  group :test do    
    gem 'rb-fsevent', :git =&gt; 'git://github.com/ttilley/rb-fsevent.git', :branch =&gt; 'pre-compiled-gem-one-off'
    gem 'growl', '1.0.3'
    gem 'guard-spork', '0.3.2'
    gem 'spork', '0.9.0'
    gem 'factory_girl_rails', '4.1.0'
    gem 'cucumber-rails', '1.2.1', :require =&gt; false
    gem 'database_cleaner', '0.7.0'
  end 
  
  group :production do
      gem 'pg', '0.12.2'
  end
  </code></pre>