Module: FiasReader::Cache
- Defined in:
- lib/fias_reader/cache.rb,
lib/fias_reader/cache/guid.rb,
lib/fias_reader/cache/address_part.rb,
lib/fias_reader/cache/address_part/level_adapter.rb
Defined Under Namespace
Classes: AddressPart, Guid
Constant Summary
collapse
- FILE =
'/tmp/fias_reader_cache.db'.freeze
Class Method Summary
collapse
Class Method Details
.clear ⇒ Object
19
20
21
|
# File 'lib/fias_reader/cache.rb', line 19
def clear
File.delete(FILE)
end
|
.index_build(reader) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/fias_reader/cache.rb', line 23
def index_build(reader)
adapter = DataMapper.repository(:default).adapter
adapter.execute('BEGIN;')
puts "Индексируем части адресов..."
FiasReader::Cache::AddressPart.index reader
puts "Индексируем уровни адресов..."
adapter.execute('CREATE INDEX `aolevel_index` ON `fias_reader_cache_address_parts` (`aolevel` );')
puts "Индексируем структуру частеи адресов..."
FiasReader::Cache::AddressPart.index_levels
puts "Индексирование закончено..."
adapter.execute('COMMIT;')
end
|
.init(reader) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fias_reader/cache.rb', line 5
def init(reader)
reindex = true unless File.exist?(FILE)
DataMapper.setup(:default, "sqlite://#{FILE}")
begin
DataMapper.auto_upgrade!
rescue
nil
end
adapter = DataMapper.repository(:default).adapter
adapter.execute('PRAGMA journal_mode=OFF; PRAGMA synchronous=OFF; PRAGMA locking_mode = EXCLUSIVE; PRAGMA count_changes = OFF; PRAGMA cache_size=500000; PRAGMA temp_store = MEMORY; PRAGMA auto_vacuum = NONE;')
index_build(reader) if reindex
end
|