We can't use a substitution that simple, because it would edit 
occurrences of `= $\d` in string content, like : 

```sql
SELECT * FROM `foos` WHERE `description` = "hello = $1"
```

Also, this has not only to be used here, but also in [NegativeBuilder](https://github.com/oelmekki/activerecord_any_of/blob/5acb07019aa04d0f88e0e1c0d7f55681d13414a0/lib/activerecord_any_of/alternative_builder.rb#L94).

I suggest you factorize this as a new method for the parent class,
`Builder`, that would return string content as is before trying to
substitute wildcards. This could be : 

```ruby 
def unprepare_query( query )
  query.gsub(/((?<!\\)'.*?(?<!\\)'|(?<!\\)".*?(?<!\\)")|(\=\ \$\d)/) do |match|
    $2 and $2.gsub(/\=\ \$\d/, "= ?") or match
  end
end
```

And would be called like this :

```ruby
relation = where([unprepare_query(queries.reduce(:or).to_sql), *queries_bind_values.map { |v| v[1] }])
```