lib/picky/backends/sqlite.rb in picky-3.6.7 vs lib/picky/backends/sqlite.rb in picky-3.6.8

- old
+ new

@@ -2,12 +2,15 @@ module Backends class SQLite < Backend + attr_reader :self_indexed + def initialize options = {} super options + @self_indexed = options[:self_indexed] require 'sqlite3' rescue LoadError => e warn_gem_missing 'sqlite3', 'SQLite bindings' end @@ -15,31 +18,38 @@ # 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 extract_lambda_or(inverted, bundle) || - DB.new(bundle.index_path(:inverted)) + Array.new(bundle.index_path(:inverted), self_indexed: self_indexed) end # Returns an object that on #initial, #load returns an object that responds to: # [:token] # => 1.23 (a weight) # def create_weights bundle extract_lambda_or(weights, bundle) || - DB.new(bundle.index_path(:weights)) + Value.new(bundle.index_path(:weights), self_indexed: self_indexed) 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 extract_lambda_or(similarity, bundle) || - DB.new(bundle.index_path(:similarity)) + Array.new(bundle.index_path(:similarity), self_indexed: self_indexed) 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 extract_lambda_or(configuration, bundle) || - DB.new(bundle.index_path(:configuration)) + Value.new(bundle.index_path(:configuration), self_indexed: self_indexed) + end + # Returns an object that on #initial, #load returns an object that responds to: + # [id] # => [:sym1, :sym2] + # + def create_realtime bundle + extract_lambda_or(similarity, bundle) || + Array.new(bundle.index_path(:realtime), self_indexed: self_indexed) end # Returns the result ids for the allocation. # # Sorts the ids by size and & through them in the following order (sizes):