title: use the correct number of arguments for new in Ruby
body: <p>I am working on a gem that can uses different version of Gherkin, but I'm facing a problem:
  in the 2.4.0 version Gherkin::Formatter::Model::Scenario.new takes 6 arguments but in 2.6.5 it takes 7 arguments.</p>
  
  <p>So my question is what is a best practice in this case ? Should I do:</p>
  
  <pre><code>case Gherkin::Version
  when '2.4.0'
    do the init with 6 arguments
  else
    with the 7 
  end
  </code></pre>
  
  <p>I was thinking also of creating a new_with_arity method:</p>
  
  <pre><code>class Object
    def new_with_arity(*params)
      puts method(:initialize).arity # =&gt; -1
      puts method(:new).arity        # =&gt; -1
      new(*(params + [nil] * (params.count - method(:new).arity)))
    end
  end
  </code></pre>
  
  <p>However this does not work, the arity of new and initialize is -1.
  Do you have an idea ?</p>