mongoid-data_table 1.0.0 → 1.0.1
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.
- data/lib/mongoid/data_table/proxy.rb +20 -15
- data/lib/mongoid/data_table/version.rb +2 -2
- metadata +10 -15
| @@ -40,7 +40,7 @@ module Mongoid | |
| 40 40 | 
             
                  end
         | 
| 41 41 |  | 
| 42 42 | 
             
                  def conditions
         | 
| 43 | 
            -
                    criteria.order_by(order_by_conditions).where(filter_conditions).where(filter_field_conditions)
         | 
| 43 | 
            +
                    criteria.clone.order_by(order_by_conditions).where(filter_conditions).where(filter_field_conditions)
         | 
| 44 44 | 
             
                  end
         | 
| 45 45 |  | 
| 46 46 | 
             
                  def to_hash(&inline_block)
         | 
| @@ -67,7 +67,7 @@ module Mongoid | |
| 67 67 | 
             
                  protected
         | 
| 68 68 |  | 
| 69 69 | 
             
                  def order_by_conditions
         | 
| 70 | 
            -
                    order_params = params.select { |k,v| k =~ /(i|s)Sort(Col|Dir)_\d+/ }
         | 
| 70 | 
            +
                    order_params = params.dup.select { |k,v| k =~ /(i|s)Sort(Col|Dir)_\d+/ }
         | 
| 71 71 | 
             
                    return options[:order_by] || [] if order_params.blank?
         | 
| 72 72 | 
             
                    order_params.select { |k,v| k =~ /iSortCol_\d+/ }.sort_by(&:first).map do |col,field|
         | 
| 73 73 | 
             
                      i = /iSortCol_(\d+)/.match(col)[1]
         | 
| @@ -78,28 +78,27 @@ module Mongoid | |
| 78 78 | 
             
                  def filter_conditions
         | 
| 79 79 | 
             
                    return unless (query = params[:sSearch]).present?
         | 
| 80 80 |  | 
| 81 | 
            -
                     | 
| 81 | 
            +
                    b_regex = Boolean.set(params["bRegex"])
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                    {
         | 
| 84 | 
            +
                      "$or" => klass.data_table_searchable_fields.map { |field|
         | 
| 85 | 
            +
                        { field => (b_regex === true) ? data_table_regex(query) : query }
         | 
| 86 | 
            +
                      }
         | 
| 87 | 
            +
                    }
         | 
| 82 88 | 
             
                  end
         | 
| 83 89 |  | 
| 84 90 | 
             
                  def filter_field_conditions
         | 
| 85 | 
            -
                     | 
| 91 | 
            +
                    params.dup.select { |k,v| k =~ /sSearch_\d+/ }.inject({}) do |h,(k,v)|
         | 
| 86 92 | 
             
                      i = /sSearch_(\d+)/.match(k)[1]
         | 
| 87 93 |  | 
| 88 94 | 
             
                      field_name = fields[i.to_i]
         | 
| 89 | 
            -
                      field = klass.fields[field_name]
         | 
| 90 | 
            -
                      field_type = field.respond_to?(:type) ? field.type :  | 
| 95 | 
            +
                      #field = klass.fields.dup[field_name]
         | 
| 96 | 
            +
                      #field_type = field.respond_to?(:type) ? field.type : Object
         | 
| 91 97 |  | 
| 92 98 | 
             
                      query = params["sSearch_#{i}"]
         | 
| 99 | 
            +
                      b_regex = Boolean.set(params["bRegex_#{i}"])
         | 
| 93 100 |  | 
| 94 | 
            -
                      h[field_name] = ( | 
| 95 | 
            -
                          begin
         | 
| 96 | 
            -
                            Regexp.new(query)
         | 
| 97 | 
            -
                          rescue RegexpError
         | 
| 98 | 
            -
                            Regexp.new(Regexp.escape(query))
         | 
| 99 | 
            -
                          end
         | 
| 100 | 
            -
                        else
         | 
| 101 | 
            -
                          query
         | 
| 102 | 
            -
                        end) if query.present?
         | 
| 101 | 
            +
                      h[field_name] = (b_regex === true) ? data_table_regex(query) : query if query.present?
         | 
| 103 102 | 
             
                      h
         | 
| 104 103 | 
             
                    end
         | 
| 105 104 | 
             
                  end
         | 
| @@ -126,6 +125,12 @@ module Mongoid | |
| 126 125 | 
             
                    end
         | 
| 127 126 | 
             
                  end
         | 
| 128 127 |  | 
| 128 | 
            +
                  def data_table_regex(query)
         | 
| 129 | 
            +
                    Regexp.new(query, Regexp::IGNORECASE)
         | 
| 130 | 
            +
                  rescue RegexpError
         | 
| 131 | 
            +
                    Regexp.new(Regexp.escape(query), Regexp::IGNORECASE)
         | 
| 132 | 
            +
                  end
         | 
| 133 | 
            +
             | 
| 129 134 | 
             
                  def method_missing(method, *args, &block) #:nodoc:
         | 
| 130 135 | 
             
                    collection.send(method, *args, &block)
         | 
| 131 136 | 
             
                  end
         | 
    
        metadata
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            name: mongoid-data_table
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 4 | 
             
              prerelease: 
         | 
| 5 | 
            -
              version: 1.0. | 
| 5 | 
            +
              version: 1.0.1
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors: 
         | 
| 8 8 | 
             
            - Jason Dew
         | 
| @@ -15,6 +15,7 @@ date: 2011-05-17 00:00:00 Z | |
| 15 15 | 
             
            dependencies: 
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 17 17 | 
             
              name: rails
         | 
| 18 | 
            +
              prerelease: false
         | 
| 18 19 | 
             
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 19 20 | 
             
                none: false
         | 
| 20 21 | 
             
                requirements: 
         | 
| @@ -22,10 +23,10 @@ dependencies: | |
| 22 23 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 23 24 | 
             
                    version: 3.0.0
         | 
| 24 25 | 
             
              type: :runtime
         | 
| 25 | 
            -
              prerelease: false
         | 
| 26 26 | 
             
              version_requirements: *id001
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 28 28 | 
             
              name: will_paginate
         | 
| 29 | 
            +
              prerelease: false
         | 
| 29 30 | 
             
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 30 31 | 
             
                none: false
         | 
| 31 32 | 
             
                requirements: 
         | 
| @@ -33,10 +34,10 @@ dependencies: | |
| 33 34 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 34 35 | 
             
                    version: 3.0.pre2
         | 
| 35 36 | 
             
              type: :runtime
         | 
| 36 | 
            -
              prerelease: false
         | 
| 37 37 | 
             
              version_requirements: *id002
         | 
| 38 38 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 39 39 | 
             
              name: bson_ext
         | 
| 40 | 
            +
              prerelease: false
         | 
| 40 41 | 
             
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 41 42 | 
             
                none: false
         | 
| 42 43 | 
             
                requirements: 
         | 
| @@ -44,10 +45,10 @@ dependencies: | |
| 44 45 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 45 46 | 
             
                    version: 1.3.0
         | 
| 46 47 | 
             
              type: :development
         | 
| 47 | 
            -
              prerelease: false
         | 
| 48 48 | 
             
              version_requirements: *id003
         | 
| 49 49 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 50 50 | 
             
              name: mongoid
         | 
| 51 | 
            +
              prerelease: false
         | 
| 51 52 | 
             
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 52 53 | 
             
                none: false
         | 
| 53 54 | 
             
                requirements: 
         | 
| @@ -55,10 +56,10 @@ dependencies: | |
| 55 56 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 56 57 | 
             
                    version: 2.0.1
         | 
| 57 58 | 
             
              type: :development
         | 
| 58 | 
            -
              prerelease: false
         | 
| 59 59 | 
             
              version_requirements: *id004
         | 
| 60 60 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 61 61 | 
             
              name: mocha
         | 
| 62 | 
            +
              prerelease: false
         | 
| 62 63 | 
             
              requirement: &id005 !ruby/object:Gem::Requirement 
         | 
| 63 64 | 
             
                none: false
         | 
| 64 65 | 
             
                requirements: 
         | 
| @@ -66,10 +67,10 @@ dependencies: | |
| 66 67 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 67 68 | 
             
                    version: 0.9.12
         | 
| 68 69 | 
             
              type: :development
         | 
| 69 | 
            -
              prerelease: false
         | 
| 70 70 | 
             
              version_requirements: *id005
         | 
| 71 71 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 72 72 | 
             
              name: rspec
         | 
| 73 | 
            +
              prerelease: false
         | 
| 73 74 | 
             
              requirement: &id006 !ruby/object:Gem::Requirement 
         | 
| 74 75 | 
             
                none: false
         | 
| 75 76 | 
             
                requirements: 
         | 
| @@ -77,10 +78,10 @@ dependencies: | |
| 77 78 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 78 79 | 
             
                    version: 2.6.0
         | 
| 79 80 | 
             
              type: :development
         | 
| 80 | 
            -
              prerelease: false
         | 
| 81 81 | 
             
              version_requirements: *id006
         | 
| 82 82 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 83 83 | 
             
              name: shoulda
         | 
| 84 | 
            +
              prerelease: false
         | 
| 84 85 | 
             
              requirement: &id007 !ruby/object:Gem::Requirement 
         | 
| 85 86 | 
             
                none: false
         | 
| 86 87 | 
             
                requirements: 
         | 
| @@ -88,10 +89,10 @@ dependencies: | |
| 88 89 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 89 90 | 
             
                    version: 2.11.3
         | 
| 90 91 | 
             
              type: :development
         | 
| 91 | 
            -
              prerelease: false
         | 
| 92 92 | 
             
              version_requirements: *id007
         | 
| 93 93 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 94 94 | 
             
              name: watchr
         | 
| 95 | 
            +
              prerelease: false
         | 
| 95 96 | 
             
              requirement: &id008 !ruby/object:Gem::Requirement 
         | 
| 96 97 | 
             
                none: false
         | 
| 97 98 | 
             
                requirements: 
         | 
| @@ -99,7 +100,6 @@ dependencies: | |
| 99 100 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 100 101 | 
             
                    version: "0.7"
         | 
| 101 102 | 
             
              type: :development
         | 
| 102 | 
            -
              prerelease: false
         | 
| 103 103 | 
             
              version_requirements: *id008
         | 
| 104 104 | 
             
            description: Simple data preparation from Mongoid to the jQuery DataTables plugin
         | 
| 105 105 | 
             
            email: 
         | 
| @@ -145,18 +145,12 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 145 145 | 
             
              requirements: 
         | 
| 146 146 | 
             
              - - ">="
         | 
| 147 147 | 
             
                - !ruby/object:Gem::Version 
         | 
| 148 | 
            -
                  hash: 1445524431539221366
         | 
| 149 | 
            -
                  segments: 
         | 
| 150 | 
            -
                  - 0
         | 
| 151 148 | 
             
                  version: "0"
         | 
| 152 149 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 153 150 | 
             
              none: false
         | 
| 154 151 | 
             
              requirements: 
         | 
| 155 152 | 
             
              - - ">="
         | 
| 156 153 | 
             
                - !ruby/object:Gem::Version 
         | 
| 157 | 
            -
                  hash: 1445524431539221366
         | 
| 158 | 
            -
                  segments: 
         | 
| 159 | 
            -
                  - 0
         | 
| 160 154 | 
             
                  version: "0"
         | 
| 161 155 | 
             
            requirements: []
         | 
| 162 156 |  | 
| @@ -172,3 +166,4 @@ test_files: | |
| 172 166 | 
             
            - spec/unit/mongoid-data_table_spec.rb
         | 
| 173 167 | 
             
            - spec/unit/mongoid/data_table/proxy_spec.rb
         | 
| 174 168 | 
             
            - spec/unit/mongoid/data_table_spec.rb
         | 
| 169 | 
            +
            has_rdoc: 
         |