title: Explain what respond_to? :should in cucumber?
body: <p>I am using ruby on rails and cucumber for the first time.  I am trying to define step definitions and was hope someone could explain the following code that i found in the steps definitions for me:</p>
  
  <pre><code>Then /^(?:|I )should see movies: "([^\"]*)"/ do |movie_list| #handles a text containing a text list of movies to check for
      if page.respond_to? :should
          page.should have_content(movie) #checks if movie appears on page
      else
      assert page.has_content?(text)
      end
  end
  </code></pre>
  
  <p>My scenario is:</p>
  
  <pre><code>Scenario: all ratings selected
  Given I am on the RottenPotatoes home page
  Then I should see all movies
  </code></pre>
  
  <p>and 
  I am trying to test if all items from the database are being displayed.  I am supposed to use the <code>.should</code> and <code>assert</code> on the rows of a database.  The hint I got was to <code>assert</code> that <code>rows.should == value</code>, but can't get it to work because I don't even understand it!</p>
  
  <p>So upon further understanding, I produced the follow method to handle the above scenario:</p>
  
  <pre><code>Then /^I should see all movies$/ do
    count = Movie.count
    assert rows.should == count unless !(rows.respond_to? :should)
  end
  </code></pre>
  
  <p>but cucumber is still failing that scenario.  suggestion?</p>