Cucumber/Capybara - Using RSpec matchers with a "Page Object" pattern
===

I'm currently refactoring a whole load of cucumber tests to use a "Page Object" pattern, but I'm having a lot of problems using the RSpec matchers. 

The existing step I have is as follows:

    Then /^I should (not )?see the following alerts:$/ do |negate, alerts|
      expectation = negate ? :should_not : :should
      
      within(ALERT_TABLE_ID) do
        alerts.hashes.each do |alert|
          page.send(expectation, have_content(alert["Original ID"]))
        end
      end
    end

My refactored step is:

    Then /^I should (not )?see the following alerts:$/ do |negate, alerts|
      expectation = negate ? :should_not : :should

      @alert_reporting_panel = AlertReportingPanel.new(Capybara.current_session)
      @alert_reporting_panel.verify_contents expectation, alerts
    end

And my Panel Object is:

    class AlertReportingPanel
      def initialize(session)
        @session = session
      end

      def verify_contents(expectation, alerts)
        @session.within(ALERT_TABLE_ID) do
          alerts.hashes.each do |alert|
            @session.send(expectation, have_content(alert["Original ID"]))
          end
        end
      end
    end

Unfortunately, I get "undefined method `have_contents' for #<AlertReportingPanel:0x3f0faf8> (NoMethodError)".   
I have tried adding "require 'rspec'" to the top of the class and also tried fully qualifying the 'have-content' method thus:  "Capybara::RSpecMatchers::HaveMatcher.have_content",  but the i just get "uninitialized constant Capybara::RSpecMatchers (NameError)".   

I'm pretty new to Ruby and I'm sure this is trivial to fix...but I just can't seem to work it out for myself.

Please help.   Thankyou.