Repository navigation
Not compatible with ruby 3.0 #16
Copy link
Copy link
Open
Description
Activity
@rubydev Yes, that syntax no longer works in Ruby 3.0... you'll need to pass an array instead:
config.before(:suite) do DatabaseCleaner[:mongoid].strategy = [:deletion, except: %w[roles exchange_rates]] end
I've updated the README to that syntax, while I was at it. I wonder if its possible to do a deprecation warning in < Ruby 3.0, and a more helpful error message in >= Ruby 3.0?
@botandrose Hello, thank you! But after change to array, result is same:
An error occurred in a `before(:suite)` hook. Failure/Error: DatabaseCleaner[:mongoid].strategy = [:deletion, except: %w[roles exchange_rates]] ArgumentError: wrong number of arguments (given 1, expected 0) # /Users/marian/.rvm/gems/ruby-3.0.1@gre/gems/database_cleaner-mongoid-2.0.1/lib/database_cleaner/mongoid/deletion.rb:9:in `initialize' # /Users/marian/.rvm/gems/ruby-3.0.1@gre/gems/database_cleaner-core-2.0.1/lib/database_cleaner/cleaner.rb:85:in `new' # /Users/marian/.rvm/gems/ruby-3.0.1@gre/gems/database_cleaner-core-2.0.1/lib/database_cleaner/cleaner.rb:85:in `create_strategy' # /Users/marian/.rvm/gems/ruby-3.0.1@gre/gems/database_cleaner-core-2.0.1/lib/database_cleaner/cleaner.rb:45:in `strategy=' # ./spec/rails_helper.rb:32:in `block (2 levels) in <top (required)>'Any idea why it doesn't work? Thank you!
same here, any solutions?
found a solution, works for me:
# inside rails_helper.rb RSpec.configure do |config| ... # Clean DB after testing config.before :each do strategy = DatabaseCleaner::Mongoid::Deletion.new except: %w[<your collection names here>] DatabaseCleaner[:mongoid].instance_variable_set :'@strategy', strategy DatabaseCleaner[:mongoid].start end config.after do DatabaseCleaner[:mongoid].clean end endReacted by Oleksandr Ulianytskyi, Isabel Garcia, Fellipe Fingoli and Matías Montagna CarbonellThank you, that works for me too!
- added a commit that references this issue
on Jan 26, 2022 Until this is fixed, this setting seems to work:
Cucumber::Rails::Database.autorun_database_cleaner = false
Any update on this?
Metadata
Metadata
Assignees
Labels
No labels
After upgrade Ruby to version 3.0.1 code is crashing:
It looks, that it is related with DatabaseCleaner/database_cleaner#677