title: Cucumber: Multiline arguments using "step" method inside a step definition
body: <p>The factory_girl Cucumber helpers are cool. I love that this works:</p>
  
  <pre><code>Given the following users exist:
    | Name | Email            |
    | Alan | alan@example.com |
    | Bob  | bob@example.com  |
  </code></pre>
  
  <p>But I can't work out how to invoke them inside a step definition. For instance:</p>
  
  <pre><code>Given /the usual users exist/ do
    step "the following users exist:
      | Name | Email            |
      | Alan | alan@example.com |
      | Bob  | bob@example.com  |"
  end
  </code></pre>
  
  <p>... throws <code>Your block takes 1 argument, but the Regexp matched 0 arguments. (Cucumber::ArityMismatchError)</code>.</p>
  
  <p>What's the correct way to pass a multiline argument to another step using <code>step</code> inside a step definition?</p>
  
  <p><strong>Edit:</strong>
  Source code's always handy. I found that the signature for <code>step</code> is <code>def step(name, multiline_argument=nil)</code>. Suggestive. Sadly, however,</p>
  
  <pre><code>step "the following users exist", "
      | Name | Email            |
      | Alan | alan@example.com |
      | Bob  | bob@example.com  |"
  </code></pre>
  
  <p>also fails with <code>undefined method 'hashes' for #&lt;Cucumber::Ast::DocString:0xa9bf6f4&gt; (NoMethodError)</code>. I'd still love to know how that's supposed to work.</p>
  
  <p>However, there's a silver lining. I found another function <code>steps</code>, which is <code>def steps(steps_text)</code>, and that works. See answer.</p>