mongoid/mongoid — Issue #1356: default_scope + any_in scope fails
Author: nofxx
Created: 2011-10-19 04:13:18+00:00
State: open

```
require 'mongoid'
Mongoid.configure do |config|
config.master = Mongo::Connection.new.db("foo_#{Time.now.to_i}")
end

class Project
include Mongoid::Document

field :name
field :state, :default => 'active'

# Comment 1 line and it works, both fails:
default_scope where(:state => 'active')
scope :inactive, any_in(:state => [:done, :wip])

end

NoMethodError: undefined method `has_key?' for "active":String
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/criteria.rb:402:in `block (2 levels) in update_selector'
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/criteria.rb:398:in `each_pair'
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/criteria.rb:398:in `block in update_selector'
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/criteria.rb:396:in `tap'
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/criteria.rb:396:in `update_selector'
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/criterion/inclusion.rb:184:in `in'
from /usr/lib/ruby/gems/1.9.1/gems/mongoid-2.3.2/lib/mongoid/finders.rb:15:in `any_in'

```

If I run **only** the default_scope line it works, only the scope line works. Both don't.