Sha256: 077fbae5eefb889b0d9db6b660442bdd647d7288e599eed0110c8d1cd4596338

Contents?: true

Size: 1.64 KB

Versions: 101

Compression:

Stored size: 1.64 KB

Contents

module Picky

  module Backends

    class SQLite < Backend

      attr_reader :realtime

      def initialize options = {}
        @realtime = options[:realtime]

        require 'sqlite3'
      rescue LoadError => e
        warn_gem_missing 'sqlite3', 'SQLite bindings'
      end

      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:token] # => [id, id, id, id, id] (an array of ids)
      #
      def create_inverted bundle
        StringKeyArray.new bundle.index_path(:inverted), realtime: realtime
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:token] # => 1.23 (a weight)
      #
      def create_weights bundle
        Value.new bundle.index_path(:weights), realtime: realtime
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:encoded] # => [:original, :original] (an array of original symbols this similarity encoded thing maps to)
      #
      def create_similarity bundle
        StringKeyArray.new bundle.index_path(:similarity), realtime: realtime
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [:key] # => value (a value for this config key)
      #
      def create_configuration bundle
        Value.new bundle.index_path(:configuration), realtime: realtime
      end
      # Returns an object that on #initial, #load returns an object that responds to:
      #   [id] # => [:sym1, :sym2]
      #
      def create_realtime bundle
        IntegerKeyArray.new bundle.index_path(:realtime), realtime: realtime
      end

    end

  end

end

Version data entries

101 entries across 101 versions & 1 rubygems

Version Path
picky-4.26.2 lib/picky/backends/sqlite.rb
picky-4.26.1 lib/picky/backends/sqlite.rb
picky-4.26.0 lib/picky/backends/sqlite.rb
picky-4.25.3 lib/picky/backends/sqlite.rb
picky-4.25.2 lib/picky/backends/sqlite.rb
picky-4.25.1 lib/picky/backends/sqlite.rb
picky-4.25.0 lib/picky/backends/sqlite.rb
picky-4.24.0 lib/picky/backends/sqlite.rb
picky-4.23.2 lib/picky/backends/sqlite.rb
picky-4.23.1 lib/picky/backends/sqlite.rb
picky-4.23.0 lib/picky/backends/sqlite.rb
picky-4.22.0 lib/picky/backends/sqlite.rb
picky-4.21.2 lib/picky/backends/sqlite.rb
picky-4.21.1 lib/picky/backends/sqlite.rb
picky-4.21.0 lib/picky/backends/sqlite.rb
picky-4.20.2 lib/picky/backends/sqlite.rb
picky-4.20.1 lib/picky/backends/sqlite.rb
picky-4.20.0 lib/picky/backends/sqlite.rb
picky-4.19.7 lib/picky/backends/sqlite.rb
picky-4.19.6 lib/picky/backends/sqlite.rb