# frozen_string_literal: true class DBUniversity private_class_method :new @instance_mutex = Mutex.new #организует подключение, чтобы не делать много подключений def initialize @client = SQLite3::Database.open '/Users/Lenovo/untitled/university.sql' @client.results_as_hash = true end #обеспечивает принцип одиночки def self.instance return @instance if @instance @instance_mutex.synchronize do @instance ||= new end @instance end def prepare_exec(statement, *params) @client.prepare(statement).execute(*params) end def query(statement) @client.query(statement) end end