class LazyTsquery
LazyTsquery
delays the connection and the execution of following commands (`use`, `login`) until another command is executed. This allows to create ready-to-use Tsquery
objects without ever hitting the server.
Public Instance Methods
close()
click to toggle source
# File lib/lazy_tsquery.rb, line 67 def close __getobj__.close rescue NoMethodError end
connect(lazy: true, **kwargs)
click to toggle source
Calls superclass method
# File lib/lazy_tsquery.rb, line 11 def connect(lazy: true, **kwargs) if lazy @connection_info = kwargs nil else super(**kwargs) end end
execute(command, *args)
click to toggle source
Calls superclass method
# File lib/lazy_tsquery.rb, line 21 def execute(command, *args) case command when 'use', 'login' @commands ||= [] @commands << [command, args] nil else connect **@connection_info, lazy: false @commands.each do |command, args| super(command, *args) end @commands = [] super end end
inspect()
click to toggle source
# File lib/lazy_tsquery.rb, line 62 def inspect __getobj__.inspect end
login(username: 'serveradmin', password:)
click to toggle source
# File lib/lazy_tsquery.rb, line 54 def login(username: 'serveradmin', password:) execute 'login', username, password nil rescue Tsquery::Error false end
method_missing(command, *args)
click to toggle source
Needed for the delegation to work.
# File lib/lazy_tsquery.rb, line 44 def method_missing(command, *args) execute(command.to_s, *args) end
respond_to_missing?(command, *)
click to toggle source
# File lib/lazy_tsquery.rb, line 49 def respond_to_missing?(command, *) !!(command =~ /[[:alnum:]]$/) end