blob: 09d895e474976a6f3982732b6a5d0e7c27d3d8af (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 | Ransack.configure do |config|
  config.add_predicate 'between',
                       arel_predicate: 'between',
                       formatter: proc { |v| v.split(' to ') },
                       type: :string
end
module Arel
  module Predications
    def between other
      gteq(other[0]).and(lt(other[1]))
    end
  end
end
module Ransack
  module Constants
    module_function
    # replace % \ to \% \\
    def escape_wildcards(unescaped)
      case ActiveRecord::Base.connection.adapter_name
      when "Mysql2".freeze, "PostgreSQL".freeze, "PostGIS".freeze 
        # Necessary for PostgreSQL and MySQL
        unescaped.to_s.gsub(/([\\|\%|_|.])/, '\\\\\\1')
      else
        unescaped
      end
    end
  end
end
 |