title: cancan accessible_by w/ mongoid criteria syntax
body: <p>i have an ability defined with mongoid criteria, that is not populating the mongoid criteria selector.</p>
  
  <pre><code>can :manage, Number, :issuer_id.in =&gt; user.owner_of.map{ |p| p.id }
  </code></pre>
  
  <p>returns</p>
  
  <pre><code>-&gt; Number.accessible_by(Ability.new(user))
  =&gt; #&lt;Mongoid::Criteria
    selector: {},
    options:  {},
    class:    Number,
    embedded: false&gt;
  </code></pre>
  
  <p>if i query mongoid directly with the same criteria</p>
  
  <pre><code>-&gt; Number.where(:issuer_id.in =&gt; user.owner_of.map{ |p| p.id })
  =&gt; #&lt;Mongoid::Criteria
    selector: {:issuer_id=&gt;{"$in"=&gt;[BSON::ObjectId('4f9ae0f1e1607c7a67000002')]}},
    options:  {},
    class:    Number,
    embedded: false&gt;
  </code></pre>
  
  <p>ability instance returns...</p>
  
  <pre><code>-&gt; Ability.new(user)
  =&gt; #&lt;Ability:0x007f8c9d0c1030 @rules=[
       #&lt;CanCan::Rule:0x007f8c9a5b0210
         @match_all=false,
         @base_behavior=true,
         @actions=[:manage],
         @subjects=[Number],
         @conditions={issuer_id=&gt;[BSON::ObjectId('4f9ae0f1e1607c7a67000002')]},
         @block=nil
       &gt;
     ]&gt;
  </code></pre>
  
  <p>i have tried defining my abilities a variety of ways</p>
  
  <pre><code>can :manage, Number, :issuer =&gt; { :owner_id =&gt; user.id }
  can :manage, Number, :issuer_id.in =&gt; user.owner_of.map{ |p| p.id }
  can :manage, Number, :issuer_id =&gt; { "$in" =&gt; user.owner_of.map{ |p| p.id }}
  </code></pre>