weaviate_record 0.0.3
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 +7 -0
 - data/lib/weaviate_record/base.rb +241 -0
 - data/lib/weaviate_record/concerns/attribute_concern.rb +76 -0
 - data/lib/weaviate_record/concerns/record_concern.rb +80 -0
 - data/lib/weaviate_record/connection.rb +53 -0
 - data/lib/weaviate_record/constants.rb +25 -0
 - data/lib/weaviate_record/errors.rb +69 -0
 - data/lib/weaviate_record/inspect.rb +36 -0
 - data/lib/weaviate_record/method_missing.rb +24 -0
 - data/lib/weaviate_record/queries/ask.rb +30 -0
 - data/lib/weaviate_record/queries/bm25.rb +29 -0
 - data/lib/weaviate_record/queries/count.rb +21 -0
 - data/lib/weaviate_record/queries/limit.rb +21 -0
 - data/lib/weaviate_record/queries/near_object.rb +35 -0
 - data/lib/weaviate_record/queries/near_text.rb +36 -0
 - data/lib/weaviate_record/queries/near_vector.rb +32 -0
 - data/lib/weaviate_record/queries/offset.rb +22 -0
 - data/lib/weaviate_record/queries/order.rb +74 -0
 - data/lib/weaviate_record/queries/select.rb +85 -0
 - data/lib/weaviate_record/queries/where.rb +126 -0
 - data/lib/weaviate_record/relation/query_builder.rb +59 -0
 - data/lib/weaviate_record/relation.rb +86 -0
 - data/lib/weaviate_record/schema.rb +101 -0
 - data/lib/weaviate_record.rb +38 -0
 - metadata +111 -0
 
| 
         @@ -0,0 +1,101 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module WeaviateRecord
         
     | 
| 
      
 4 
     | 
    
         
            +
              # This module contains methods that helps to build, maintain and read data from weaviate schema
         
     | 
| 
      
 5 
     | 
    
         
            +
              class Schema
         
     | 
| 
      
 6 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 7 
     | 
    
         
            +
                  # :stopdoc:
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  STRUCTURE_FILE_BOILERPLATE = lambda do |schema|
         
     | 
| 
      
 10 
     | 
    
         
            +
                    <<~RUBY
         
     | 
| 
      
 11 
     | 
    
         
            +
                      # frozen_string_literal: true
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                      module WeaviateRecord
         
     | 
| 
      
 14 
     | 
    
         
            +
                        # This class stores the schema of all Weaviate Collections
         
     | 
| 
      
 15 
     | 
    
         
            +
                        # Don't change it manually, use the WeaviateRecord::Schema.update! method to update the schema
         
     | 
| 
      
 16 
     | 
    
         
            +
                        class Schema
         
     | 
| 
      
 17 
     | 
    
         
            +
                          def self.all_collections # rubocop:disable Metrics/MethodLength
         
     | 
| 
      
 18 
     | 
    
         
            +
                            #{schema}
         
     | 
| 
      
 19 
     | 
    
         
            +
                          end
         
     | 
| 
      
 20 
     | 
    
         
            +
                        end
         
     | 
| 
      
 21 
     | 
    
         
            +
                      end
         
     | 
| 
      
 22 
     | 
    
         
            +
                    RUBY
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  # :startdoc:
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                  # This method updates the local schema file with the latest schema from Weaviate
         
     | 
| 
      
 28 
     | 
    
         
            +
                  # The schema file path is configured by setting +WeaviateRecord.config.schema_file_path+
         
     | 
| 
      
 29 
     | 
    
         
            +
                  #
         
     | 
| 
      
 30 
     | 
    
         
            +
                  # If the rubocop is installed in the system, it will format the generated schema file too.
         
     | 
| 
      
 31 
     | 
    
         
            +
                  def update!
         
     | 
| 
      
 32 
     | 
    
         
            +
                    create_weaviate_db_dir!
         
     | 
| 
      
 33 
     | 
    
         
            +
                    File.write(WeaviateRecord.config.schema_file_path, STRUCTURE_FILE_BOILERPLATE[pretty_schema])
         
     | 
| 
      
 34 
     | 
    
         
            +
                    rubocop_format_file
         
     | 
| 
      
 35 
     | 
    
         
            +
                    nil
         
     | 
| 
      
 36 
     | 
    
         
            +
                  end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  # This method checks if the local schema file is in sync with the schema in Weaviate database
         
     | 
| 
      
 39 
     | 
    
         
            +
                  def synced?
         
     | 
| 
      
 40 
     | 
    
         
            +
                    if File.exist?(WeaviateRecord.config.schema_file_path)
         
     | 
| 
      
 41 
     | 
    
         
            +
                      load WeaviateRecord.config.schema_file_path
         
     | 
| 
      
 42 
     | 
    
         
            +
                      WeaviateRecord::Schema.all_collections == schema_list
         
     | 
| 
      
 43 
     | 
    
         
            +
                    else
         
     | 
| 
      
 44 
     | 
    
         
            +
                      false
         
     | 
| 
      
 45 
     | 
    
         
            +
                    end
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  # This method returns the weaviate schema for the given collection class
         
     | 
| 
      
 49 
     | 
    
         
            +
                  def find_collection(klass)
         
     | 
| 
      
 50 
     | 
    
         
            +
                    load WeaviateRecord.config.schema_file_path
         
     | 
| 
      
 51 
     | 
    
         
            +
                    collection_schema = all_collections[:classes].find { |collection| collection[:class] == klass.to_s }
         
     | 
| 
      
 52 
     | 
    
         
            +
                    if collection_schema.nil?
         
     | 
| 
      
 53 
     | 
    
         
            +
                      raise WeaviateRecord::Errors::CollectionNotFound, "Collection #{klass} not found in the schema"
         
     | 
| 
      
 54 
     | 
    
         
            +
                    end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                    new(collection_schema)
         
     | 
| 
      
 57 
     | 
    
         
            +
                  end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                  # :stopdoc:
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                  private
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                  def schema_list
         
     | 
| 
      
 64 
     | 
    
         
            +
                    WeaviateRecord::Connection.new.schema_list
         
     | 
| 
      
 65 
     | 
    
         
            +
                  end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                  def pretty_schema
         
     | 
| 
      
 68 
     | 
    
         
            +
                    schema_list.pretty_inspect
         
     | 
| 
      
 69 
     | 
    
         
            +
                  end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                  def rubocop_format_file
         
     | 
| 
      
 72 
     | 
    
         
            +
                    # To prettify the generated file
         
     | 
| 
      
 73 
     | 
    
         
            +
                    system("rubocop -a #{WeaviateRecord.config.schema_file_path}", %i[err out] => File::NULL)
         
     | 
| 
      
 74 
     | 
    
         
            +
                  end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                  def create_weaviate_db_dir!
         
     | 
| 
      
 77 
     | 
    
         
            +
                    dir_path = WeaviateRecord.config.schema_file_path.delete_suffix('/schema.rb')
         
     | 
| 
      
 78 
     | 
    
         
            +
                    FileUtils.mkdir_p(dir_path) unless File.directory?(dir_path)
         
     | 
| 
      
 79 
     | 
    
         
            +
                  end
         
     | 
| 
      
 80 
     | 
    
         
            +
                end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                def initialize(schema)
         
     | 
| 
      
 83 
     | 
    
         
            +
                  @schema = schema
         
     | 
| 
      
 84 
     | 
    
         
            +
                end
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
                # :startdoc:
         
     | 
| 
      
 87 
     | 
    
         
            +
                # This method returns the list of attributes for the collection
         
     | 
| 
      
 88 
     | 
    
         
            +
                #
         
     | 
| 
      
 89 
     | 
    
         
            +
                # ==== Usage
         
     | 
| 
      
 90 
     | 
    
         
            +
                #  WeaviateRecord::Schema.find_collection(Article).attributes_list
         
     | 
| 
      
 91 
     | 
    
         
            +
                def attributes_list
         
     | 
| 
      
 92 
     | 
    
         
            +
                  @schema[:properties].map { |property| property[:name] }
         
     | 
| 
      
 93 
     | 
    
         
            +
                end
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
                # This attribute returns the schema of the collection in Hash format
         
     | 
| 
      
 96 
     | 
    
         
            +
                attr_reader :schema
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                # :enddoc:
         
     | 
| 
      
 99 
     | 
    
         
            +
                private_class_method :new
         
     | 
| 
      
 100 
     | 
    
         
            +
              end
         
     | 
| 
      
 101 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'zeitwerk'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'active_model'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'active_support/core_ext/string/conversions'
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            loader = Zeitwerk::Loader.for_gem
         
     | 
| 
      
 8 
     | 
    
         
            +
            loader.setup
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            # Starting point of the gem
         
     | 
| 
      
 11 
     | 
    
         
            +
            module WeaviateRecord
         
     | 
| 
      
 12 
     | 
    
         
            +
              class << self
         
     | 
| 
      
 13 
     | 
    
         
            +
                # Configuration object for WeaviateRecord
         
     | 
| 
      
 14 
     | 
    
         
            +
                def config
         
     | 
| 
      
 15 
     | 
    
         
            +
                  @config ||= Struct.new(
         
     | 
| 
      
 16 
     | 
    
         
            +
                    :similarity_search_threshold,
         
     | 
| 
      
 17 
     | 
    
         
            +
                    :schema_file_path,
         
     | 
| 
      
 18 
     | 
    
         
            +
                    :sync_schema_on_load
         
     | 
| 
      
 19 
     | 
    
         
            +
                  ).new(0.55, "#{Object.const_defined?('Rails') ? Rails.root : Dir.pwd}/db/weaviate/schema.rb", false)
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                # Used to configure WeaviateRecord, accepts a block and yields the configuration object
         
     | 
| 
      
 23 
     | 
    
         
            +
                #
         
     | 
| 
      
 24 
     | 
    
         
            +
                # ==== Example:
         
     | 
| 
      
 25 
     | 
    
         
            +
                #   WeaviateRecord.configure do |config|
         
     | 
| 
      
 26 
     | 
    
         
            +
                #     config.similarity_search_threshold = 0.6
         
     | 
| 
      
 27 
     | 
    
         
            +
                #     config.schema_file_path = "#{Rails.root}/db/weaviate/schema.rb"
         
     | 
| 
      
 28 
     | 
    
         
            +
                #     config.sync_schema_on_load = true
         
     | 
| 
      
 29 
     | 
    
         
            +
                #   end
         
     | 
| 
      
 30 
     | 
    
         
            +
                #
         
     | 
| 
      
 31 
     | 
    
         
            +
                # When sync_schema_on_load is set to true, the local schema will be synced
         
     | 
| 
      
 32 
     | 
    
         
            +
                # with the database schema when WeaviateRecord is loaded.
         
     | 
| 
      
 33 
     | 
    
         
            +
                def configure
         
     | 
| 
      
 34 
     | 
    
         
            +
                  yield config if block_given?
         
     | 
| 
      
 35 
     | 
    
         
            +
                  WeaviateRecord::Schema.update! if config.sync_schema_on_load && !WeaviateRecord::Schema.synced?
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,111 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: weaviate_record
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.3
         
     | 
| 
      
 5 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 6 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Sriram V
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 9 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2024-06-08 00:00:00.000000000 Z
         
     | 
| 
      
 12 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 13 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 14 
     | 
    
         
            +
              name: activemodel
         
     | 
| 
      
 15 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 16 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 17 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 19 
     | 
    
         
            +
                    version: '5.1'
         
     | 
| 
      
 20 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 21 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 22 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 23 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 24 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 25 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 26 
     | 
    
         
            +
                    version: '5.1'
         
     | 
| 
      
 27 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 28 
     | 
    
         
            +
              name: weaviate-ruby
         
     | 
| 
      
 29 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 30 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 31 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '0.1'
         
     | 
| 
      
 34 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 35 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 36 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 37 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 38 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 39 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '0.1'
         
     | 
| 
      
 41 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 42 
     | 
    
         
            +
              name: zeitwerk
         
     | 
| 
      
 43 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 44 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 45 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 46 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 47 
     | 
    
         
            +
                    version: '2.4'
         
     | 
| 
      
 48 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 49 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 50 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 51 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 52 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 53 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 54 
     | 
    
         
            +
                    version: '2.4'
         
     | 
| 
      
 55 
     | 
    
         
            +
            description: An ORM for Weaviate vector database that follows the same conventions
         
     | 
| 
      
 56 
     | 
    
         
            +
              as the ActiveRecord. This gem uses weaviate-ruby internally to connect with weaviate
         
     | 
| 
      
 57 
     | 
    
         
            +
              database.
         
     | 
| 
      
 58 
     | 
    
         
            +
            email: srira.venkat@gmail.com
         
     | 
| 
      
 59 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 60 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 61 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 62 
     | 
    
         
            +
            files:
         
     | 
| 
      
 63 
     | 
    
         
            +
            - lib/weaviate_record.rb
         
     | 
| 
      
 64 
     | 
    
         
            +
            - lib/weaviate_record/base.rb
         
     | 
| 
      
 65 
     | 
    
         
            +
            - lib/weaviate_record/concerns/attribute_concern.rb
         
     | 
| 
      
 66 
     | 
    
         
            +
            - lib/weaviate_record/concerns/record_concern.rb
         
     | 
| 
      
 67 
     | 
    
         
            +
            - lib/weaviate_record/connection.rb
         
     | 
| 
      
 68 
     | 
    
         
            +
            - lib/weaviate_record/constants.rb
         
     | 
| 
      
 69 
     | 
    
         
            +
            - lib/weaviate_record/errors.rb
         
     | 
| 
      
 70 
     | 
    
         
            +
            - lib/weaviate_record/inspect.rb
         
     | 
| 
      
 71 
     | 
    
         
            +
            - lib/weaviate_record/method_missing.rb
         
     | 
| 
      
 72 
     | 
    
         
            +
            - lib/weaviate_record/queries/ask.rb
         
     | 
| 
      
 73 
     | 
    
         
            +
            - lib/weaviate_record/queries/bm25.rb
         
     | 
| 
      
 74 
     | 
    
         
            +
            - lib/weaviate_record/queries/count.rb
         
     | 
| 
      
 75 
     | 
    
         
            +
            - lib/weaviate_record/queries/limit.rb
         
     | 
| 
      
 76 
     | 
    
         
            +
            - lib/weaviate_record/queries/near_object.rb
         
     | 
| 
      
 77 
     | 
    
         
            +
            - lib/weaviate_record/queries/near_text.rb
         
     | 
| 
      
 78 
     | 
    
         
            +
            - lib/weaviate_record/queries/near_vector.rb
         
     | 
| 
      
 79 
     | 
    
         
            +
            - lib/weaviate_record/queries/offset.rb
         
     | 
| 
      
 80 
     | 
    
         
            +
            - lib/weaviate_record/queries/order.rb
         
     | 
| 
      
 81 
     | 
    
         
            +
            - lib/weaviate_record/queries/select.rb
         
     | 
| 
      
 82 
     | 
    
         
            +
            - lib/weaviate_record/queries/where.rb
         
     | 
| 
      
 83 
     | 
    
         
            +
            - lib/weaviate_record/relation.rb
         
     | 
| 
      
 84 
     | 
    
         
            +
            - lib/weaviate_record/relation/query_builder.rb
         
     | 
| 
      
 85 
     | 
    
         
            +
            - lib/weaviate_record/schema.rb
         
     | 
| 
      
 86 
     | 
    
         
            +
            homepage: https://rubygems.org/gems/weaviate_record
         
     | 
| 
      
 87 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 88 
     | 
    
         
            +
            - MIT
         
     | 
| 
      
 89 
     | 
    
         
            +
            metadata:
         
     | 
| 
      
 90 
     | 
    
         
            +
              source_code_uri: https://github.com/ruby-ist/weaviate_record
         
     | 
| 
      
 91 
     | 
    
         
            +
              rubygems_mfa_required: 'true'
         
     | 
| 
      
 92 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 93 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 94 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 95 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 96 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 97 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 98 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 99 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 100 
     | 
    
         
            +
                  version: 2.6.0
         
     | 
| 
      
 101 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 102 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 103 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 104 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 105 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 106 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 107 
     | 
    
         
            +
            rubygems_version: 3.0.3
         
     | 
| 
      
 108 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 109 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 110 
     | 
    
         
            +
            summary: An ORM for Weaviate vector database
         
     | 
| 
      
 111 
     | 
    
         
            +
            test_files: []
         
     |