searchkick 4.6.1 → 4.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/searchkick/query.rb +16 -9
- data/lib/searchkick/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 65c7079048f9956249fbdc5ab791813dfd3fb46bf70942df3175010d40beeb4e
         | 
| 4 | 
            +
              data.tar.gz: 54aafa84a70f1b8a2ca3d94ab73a82e6acfbdb5651406385375ba6afdc54c3de
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: cea309b06315f0094640dd799281d63cfaada2464da9b79961d04cac396b80f8e5e4599af419f239dc2eaf886813bdb73b88bdb9a27b9cd9582b01bef815e53e
         | 
| 7 | 
            +
              data.tar.gz: 3252d012f15694d38d3956ffbff157869a36a8789980c3b5af4a24db9c8cb163adea7a78d3896eab073c1f9e5ae43b7532dad86e60663ca07c389e29ab26a181
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,9 @@ | |
| 1 | 
            +
            ## 4.6.2 (2021-11-15)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            - Added support for beginless ranges to `where` option
         | 
| 4 | 
            +
            - Fixed `like` and `ilike` with `+` character
         | 
| 5 | 
            +
            - Fixed warning about accessing system indices when no model or index specified
         | 
| 6 | 
            +
             | 
| 1 7 | 
             
            ## 4.6.1 (2021-09-25)
         | 
| 2 8 |  | 
| 3 9 | 
             
            - Added `ilike` operator for Elasticsearch 7.10+
         | 
    
        data/lib/searchkick/query.rb
    CHANGED
    
    | @@ -75,7 +75,8 @@ module Searchkick | |
| 75 75 | 
             
                    elsif searchkick_index
         | 
| 76 76 | 
             
                      searchkick_index.name
         | 
| 77 77 | 
             
                    else
         | 
| 78 | 
            -
                       | 
| 78 | 
            +
                      # fixes warning about accessing system indices
         | 
| 79 | 
            +
                      "*,-.*"
         | 
| 79 80 | 
             
                    end
         | 
| 80 81 |  | 
| 81 82 | 
             
                  params = {
         | 
| @@ -904,12 +905,7 @@ module Searchkick | |
| 904 905 | 
             
                    else
         | 
| 905 906 | 
             
                      # expand ranges
         | 
| 906 907 | 
             
                      if value.is_a?(Range)
         | 
| 907 | 
            -
                         | 
| 908 | 
            -
                        if value.end.nil? || (value.end.respond_to?(:infinite?) && value.end.infinite?)
         | 
| 909 | 
            -
                          value = {gte: value.first}
         | 
| 910 | 
            -
                        else
         | 
| 911 | 
            -
                          value = {gte: value.first, (value.exclude_end? ? :lt : :lte) => value.last}
         | 
| 912 | 
            -
                        end
         | 
| 908 | 
            +
                        value = expand_range(value)
         | 
| 913 909 | 
             
                      end
         | 
| 914 910 |  | 
| 915 911 | 
             
                      value = {in: value} if value.is_a?(Array)
         | 
| @@ -969,10 +965,10 @@ module Searchkick | |
| 969 965 | 
             
                            # \ is escape character
         | 
| 970 966 | 
             
                            # escape Lucene reserved characters
         | 
| 971 967 | 
             
                            # https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html#regexp-optional-operators
         | 
| 972 | 
            -
                            reserved = %w(. ? + * | { } [ ] ( ) " | 
| 968 | 
            +
                            reserved = %w(\\ . ? + * | { } [ ] ( ) ")
         | 
| 973 969 | 
             
                            regex = op_value.dup
         | 
| 974 970 | 
             
                            reserved.each do |v|
         | 
| 975 | 
            -
                              regex.gsub!(v, " | 
| 971 | 
            +
                              regex.gsub!(v, "\\\\" + v)
         | 
| 976 972 | 
             
                            end
         | 
| 977 973 | 
             
                            regex = regex.gsub(/(?<!\\)%/, ".*").gsub(/(?<!\\)_/, ".").gsub("\\%", "%").gsub("\\_", "_")
         | 
| 978 974 |  | 
| @@ -1138,6 +1134,17 @@ module Searchkick | |
| 1138 1134 | 
             
                  end
         | 
| 1139 1135 | 
             
                end
         | 
| 1140 1136 |  | 
| 1137 | 
            +
                def expand_range(range)
         | 
| 1138 | 
            +
                  expanded = {}
         | 
| 1139 | 
            +
                  expanded[:gte] = range.begin if range.begin
         | 
| 1140 | 
            +
             | 
| 1141 | 
            +
                  if range.end && !(range.end.respond_to?(:infinite?) && range.end.infinite?)
         | 
| 1142 | 
            +
                    expanded[range.exclude_end? ? :lt : :lte] = range.end
         | 
| 1143 | 
            +
                  end
         | 
| 1144 | 
            +
             | 
| 1145 | 
            +
                  expanded
         | 
| 1146 | 
            +
                end
         | 
| 1147 | 
            +
             | 
| 1141 1148 | 
             
                def base_field(k)
         | 
| 1142 1149 | 
             
                  k.sub(/\.(analyzed|word_start|word_middle|word_end|text_start|text_middle|text_end|exact)\z/, "")
         | 
| 1143 1150 | 
             
                end
         | 
    
        data/lib/searchkick/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: searchkick
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.6. | 
| 4 | 
            +
              version: 4.6.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andrew Kane
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021- | 
| 11 | 
            +
            date: 2021-11-15 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activemodel
         |