Class: Codebeacon::Tracer::DatabaseSchema
- Inherits:
-
Object
- Object
- Codebeacon::Tracer::DatabaseSchema
- Defined in:
- lib/codebeacon/tracer/src/data/database.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_indexes ⇒ Object
- #create_tables ⇒ Object
- #db ⇒ Object
-
#initialize ⇒ DatabaseSchema
constructor
A new instance of DatabaseSchema.
- #initialize_db ⇒ Object
Constructor Details
#initialize ⇒ DatabaseSchema
Returns a new instance of DatabaseSchema.
9 10 11 |
# File 'lib/codebeacon/tracer/src/data/database.rb', line 9 def initialize @db = initialize_db end |
Class Method Details
.trim_db_files ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/codebeacon/tracer/src/data/database.rb', line 40 def self.trim_db_files db_path = Codebeacon::Tracer.config.db_path db_files = Dir.glob(File.join(db_path, "*.db")) db_files.reject! { |file| File.symlink?(file) } db_files.sort_by! { |db_file| File.mtime(db_file) } db_files.reverse! db_files.each_with_index do |db_file, index| next if index < Codebeacon::Tracer.config.max_db_files File.delete(db_file) end end |
Instance Method Details
#create_indexes ⇒ Object
34 35 36 37 38 |
# File 'lib/codebeacon/tracer/src/data/database.rb', line 34 def create_indexes MetadataMapper.create_indexes(db) TreeNodeMapper.create_indexes(db) NodeSourceMapper.create_indexes(db) end |
#create_tables ⇒ Object
28 29 30 31 32 |
# File 'lib/codebeacon/tracer/src/data/database.rb', line 28 def create_tables MetadataMapper.create_table(db) TreeNodeMapper.create_table(db) NodeSourceMapper.create_table(db) end |
#db ⇒ Object
13 14 15 |
# File 'lib/codebeacon/tracer/src/data/database.rb', line 13 def db @db end |
#initialize_db ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/codebeacon/tracer/src/data/database.rb', line 17 def initialize_db db_path = Codebeacon::Tracer.config.db_path = Time.now.strftime("%Y%m%d%H%M%S") db_name = "#{Codebeacon::Tracer.config.db_name}_#{}.db" db_symlink = File.join(db_path, "#{Codebeacon::Tracer.config.db_name}.db") File.delete(db_symlink) if File.exist?(db_symlink) FileUtils.ln_sf(db_name, db_symlink) SQLite3::Database.new(File.join(db_path, db_name)) end |