neighbor 0.2.3 → 0.3.0
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 +4 -0
- data/lib/neighbor/model.rb +2 -2
- data/lib/neighbor/version.rb +1 -1
- data/lib/neighbor.rb +5 -14
- metadata +5 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a0ab3641b145d2f7b83ab5b9639b63a97243aeaadd82e057ff71d30440eccf86
         | 
| 4 | 
            +
              data.tar.gz: 0042cdebaff064ee3c27658f2a1edf348768bc7022e14fc12a15eabf1f4cb20f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0c500661e9557575032762af3f54b36259a4b87493cd0ed30c559e9fb1b21c18c70b4c410becd1095aed64bbd86d8aac527cbd498a14717708030905ecc84d6e
         | 
| 7 | 
            +
              data.tar.gz: 75a62b2a13ecb8a34bb6595b71d0aa5686111a390a32ab610c10bcaf8d1e688541b742073658498e20a4724a9f9a1e7ab718f0a2298a7214e5c1cbffdb47c2e2
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/lib/neighbor/model.rb
    CHANGED
    
    | @@ -113,8 +113,8 @@ module Neighbor | |
| 113 113 | 
             
                      raise ArgumentError, "Invalid attribute" unless self.class.neighbor_attributes[attribute_name]
         | 
| 114 114 |  | 
| 115 115 | 
             
                      self.class
         | 
| 116 | 
            -
                        .where.not(self.class.primary_key =>  | 
| 117 | 
            -
                        .nearest_neighbors(attribute_name,  | 
| 116 | 
            +
                        .where.not(self.class.primary_key => self[self.class.primary_key])
         | 
| 117 | 
            +
                        .nearest_neighbors(attribute_name, self[attribute_name], **options)
         | 
| 118 118 | 
             
                    end
         | 
| 119 119 | 
             
                  end
         | 
| 120 120 | 
             
                end
         | 
    
        data/lib/neighbor/version.rb
    CHANGED
    
    
    
        data/lib/neighbor.rb
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            require "active_support"
         | 
| 3 3 |  | 
| 4 4 | 
             
            # modules
         | 
| 5 | 
            -
             | 
| 5 | 
            +
            require_relative "neighbor/version"
         | 
| 6 6 |  | 
| 7 7 | 
             
            module Neighbor
         | 
| 8 8 | 
             
              class Error < StandardError; end
         | 
| @@ -20,8 +20,8 @@ module Neighbor | |
| 20 20 | 
             
            end
         | 
| 21 21 |  | 
| 22 22 | 
             
            ActiveSupport.on_load(:active_record) do
         | 
| 23 | 
            -
               | 
| 24 | 
            -
               | 
| 23 | 
            +
              require_relative "neighbor/model"
         | 
| 24 | 
            +
              require_relative "neighbor/vector"
         | 
| 25 25 |  | 
| 26 26 | 
             
              extend Neighbor::Model
         | 
| 27 27 |  | 
| @@ -32,16 +32,7 @@ ActiveSupport.on_load(:active_record) do | |
| 32 32 | 
             
              ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::NATIVE_DATABASE_TYPES[:vector] = {name: "vector"}
         | 
| 33 33 |  | 
| 34 34 | 
             
              # ensure schema can be loaded
         | 
| 35 | 
            -
               | 
| 36 | 
            -
                ActiveRecord::ConnectionAdapters::TableDefinition.send(:define_column_methods, :cube, :vector)
         | 
| 37 | 
            -
              else
         | 
| 38 | 
            -
                ActiveRecord::ConnectionAdapters::TableDefinition.define_method :cube do |*args, **options|
         | 
| 39 | 
            -
                  args.each { |name| column(name, :cube, options) }
         | 
| 40 | 
            -
                end
         | 
| 41 | 
            -
                ActiveRecord::ConnectionAdapters::TableDefinition.define_method :vector do |*args, **options|
         | 
| 42 | 
            -
                  args.each { |name| column(name, :vector, options) }
         | 
| 43 | 
            -
                end
         | 
| 44 | 
            -
              end
         | 
| 35 | 
            +
              ActiveRecord::ConnectionAdapters::TableDefinition.send(:define_column_methods, :cube, :vector)
         | 
| 45 36 |  | 
| 46 37 | 
             
              # prevent unknown OID warning
         | 
| 47 38 | 
             
              if ActiveRecord::VERSION::MAJOR >= 7
         | 
| @@ -51,4 +42,4 @@ ActiveSupport.on_load(:active_record) do | |
| 51 42 | 
             
              end
         | 
| 52 43 | 
             
            end
         | 
| 53 44 |  | 
| 54 | 
            -
             | 
| 45 | 
            +
            require_relative "neighbor/railtie" if defined?(Rails::Railtie)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: neighbor
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andrew Kane
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023- | 
| 11 | 
            +
            date: 2023-07-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activerecord
         | 
| @@ -16,14 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - ">="
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: ' | 
| 19 | 
            +
                    version: '6.1'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - ">="
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: ' | 
| 26 | 
            +
                    version: '6.1'
         | 
| 27 27 | 
             
            description:
         | 
| 28 28 | 
             
            email: andrew@ankane.org
         | 
| 29 29 | 
             
            executables: []
         | 
| @@ -54,7 +54,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 54 54 | 
             
              requirements:
         | 
| 55 55 | 
             
              - - ">="
         | 
| 56 56 | 
             
                - !ruby/object:Gem::Version
         | 
| 57 | 
            -
                  version: ' | 
| 57 | 
            +
                  version: '3'
         | 
| 58 58 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 59 59 | 
             
              requirements:
         | 
| 60 60 | 
             
              - - ">="
         |