Skip to content

rails generate migration fails with undefined method `start_with?' #1412

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dankohn opened this issue Jul 3, 2015 · 3 comments
Closed

rails generate migration fails with undefined method `start_with?' #1412

dankohn opened this issue Jul 3, 2015 · 3 comments
Labels

Comments

@dankohn
Copy link
Contributor

dankohn commented Jul 3, 2015

I'm getting this error:

$ rails generate migration some_name
/Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-rails-3.3.2/lib/rspec-rails.rb:15:in `block (2 levels) in <class:Railtie>': undefined method `start_with?' for :test_unit:Symbol (NoMethodError)
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-rails-3.3.2/lib/rspec-rails.rb:15:in `reject!'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-rails-3.3.2/lib/rspec-rails.rb:15:in `block in <class:Railtie>'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/railtie.rb:228:in `call'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/railtie.rb:228:in `block in run_generators_blocks'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/railtie.rb:245:in `each'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/railtie.rb:245:in `each_registered_block'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/railtie.rb:228:in `run_generators_blocks'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/application.rb:462:in `block in run_generators_blocks'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/engine/railties.rb:13:in `each'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/engine/railties.rb:13:in `each'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/application.rb:462:in `run_generators_blocks'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/engine.rb:461:in `load_generators'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:129:in `generate_or_destroy'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:50:in `generate'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/dan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.2/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

FYI, my application.rb includes:

class Application < Rails::Application
    config.active_record.schema_format = :sql

    config.generators do |g|
      g.hidden_namespaces << :test_unit << :erb
      g.template_engine :slim
      g.helper false
      g.test_framework :rspec, view_specs: false
      g.integration_tool :rspec
      g.fixture_replacement :factory_girl
      g.factory_girl dir: 'spec/factories'
      g.javascript_engine false
      g.scaffold_controller 'responders_controller'
      g.stylesheets false
    end

FYI: @slavad

@cupakromer
Copy link
Member

Thanks for reporting this! ❤️ I see what is going on, we're assuming the hidden_namespaces are String objects; which the defaults are. We'll get this fixed 😸 👍

As a work around could you change your setup to use:

config.generators do |g|
  g.hidden_namespaces << 'test_unit' << 'erb'
  #...
end

@dankohn
Copy link
Contributor Author

dankohn commented Jul 3, 2015

@cupakromer
Copy link
Member

@dankohn would you like to submit that as a PR?

JonRowe added a commit that referenced this issue Jul 6, 2015
Namespace check shouldn't fail on symbols; fixes #1412
JonRowe added a commit that referenced this issue Jul 6, 2015
Namespace check shouldn't fail on symbols; fixes #1412
ryanclark2 pushed a commit to sarahmei/rspec-rails that referenced this issue Jul 10, 2015
Fixes rspec#1412 by converting symbols to strings in check.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants