Class: DBUniversity

Inherits:
Object
  • Object
show all
Defined in:
lib/source/DBUniversity.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize ⇒ DBUniversity

Инициализируем объект, открывая БД и настраивая её на возвращение результатов в виде хешей



9
10
11
12
# File 'lib/source/DBUniversity.rb', line 9

def initialize
  @client = SQLite3::Database.open 'C:\Users\valen\RubymineProjects\untitled\identifier.sqlite'
  @client.results_as_hash = true
end

Class Method Details

.instance ⇒ Object

Метод, возвращает ЕДИНСТВЕННЫЙ экземпляр класса DBUniversity.



16
17
18
19
20
21
22
23
24
# File 'lib/source/DBUniversity.rb', line 16

def self.instance
  return @instance if @instance

  # Иначе захватываем мьютекс, чтобы ТОЛЬКО ОДИН поток мог создать экземпляр класса.
  @instance_mutex.synchronize do
    @instance ||= new
  end
  @instance
end

Instance Method Details

#prepare_exec(statement, *params) ⇒ Object

Методы, принимают SQL-запрос (и параметры), возвращает результаты запроса.



27
28
29
# File 'lib/source/DBUniversity.rb', line 27

def prepare_exec(statement, *params)
  @client.prepare(statement).execute(*params)
end

#query(statement) ⇒ Object



31
32
33
# File 'lib/source/DBUniversity.rb', line 31

def query(statement)
  @client.query(statement)
end