hey @carlosantoniodasilva yeah that was my first approach but then it broke something else:

```ruby
modified = where_values.reject! do |rel|
  case rel
  when Arel::Nodes::In, Arel::Nodes::NotIn, Arel::Nodes::Equality, Arel::Nodes::NotEqual
    subrelation = (rel.left.kind_of?(Arel::Attributes::Attribute) ? rel.left : rel.right)
    subrelation.name == target_value
  end
end

if !modified && !where_values.empty?
  raise ArgumentError, "unscope(where: #{target_value.inspect}) failed: unscoping #{where_values.inspect} is unimplemented."
end
```

```
  1) Error:
HasManyAssociationsTest#test_can_unscope_the_default_scope_of_the_associated_model:
ArgumentError: unscope(where: "name") failed: unscoping [#<Arel::Nodes::Equality:0x007f940cb00ef8 @left=#<struct Arel::Attributes::Attribute relation=#<Arel::Table:0x007f940cb016f0 @name="bulbs", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil>, name="car_id">, @right="?">] is unimplemented.
```

checking inside the loop was the only way I found to get it working properly and not break anything else.