Module: BEL::Resource::Search::Plugins::Sqlite
- Extended by:
- ClassMethods
- Defined in:
- lib/bel/resource/search/plugins/sqlite/sqlite3.rb,
lib/bel/resource/search/plugins/sqlite.rb
Defined Under Namespace
Classes: Sqlite3FTS
Constant Summary collapse
- NAME =
'Resource search on sqlite FTS'
- DESCRIPTION =
'A resource search implementation using sqlite FTS capabilities.'
Class Method Summary collapse
Class Method Details
.create_search(options = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/bel/resource/search/plugins/sqlite.rb', line 13 def self.create_search( = {}) database_file = [:database_file] unless database_file raise ArgumentError.new(':database_file option must be provided') end # database abstraction require 'sequel' # Resource search implementation require_relative 'sqlite/sqlite3' case RUBY_ENGINE when "jruby" require 'jdbc/sqlite3' Sqlite3FTS.new(Sequel.connect("jdbc:sqlite:#{database_file}")) when "ruby", "rbx" require 'sqlite3' Sqlite3FTS.new(Sequel.connect("sqlite://#{database_file}")) else raise RuntimeError.new("Unsupported ruby engine: #{RUBY_ENGINE}") end end |
.description ⇒ Object
40 41 42 |
# File 'lib/bel/resource/search/plugins/sqlite.rb', line 40 def self.description DESCRIPTION end |
.name ⇒ Object
36 37 38 |
# File 'lib/bel/resource/search/plugins/sqlite.rb', line 36 def self.name NAME end |