Module: Rtt::Storage

Included in:
Rtt
Defined in:
lib/rtt/storage.rb

Constant Summary collapse

DEFAULT_STORAGE_NAME =
:rtt

Instance Method Summary collapse

Instance Method Details

#export(filename) ⇒ Object



7
8
9
10
# File 'lib/rtt/storage.rb', line 7

def export filename
  require 'fileutils'
  FileUtils.cp(File.join( File.dirname(__FILE__), '..', '..', 'db', "#{DEFAULT_STORAGE_NAME.to_s}.sqlite3"), filename)
end

#import(filename) ⇒ Object



12
13
14
15
# File 'lib/rtt/storage.rb', line 12

def import filename
  require 'fileutils'
  FileUtils.cp(filename, File.join( File.dirname(__FILE__), '..', '..', 'db', "#{DEFAULT_STORAGE_NAME.to_s}.sqlite3"))
end

#init(database = :rtt) ⇒ Object



17
18
19
20
21
# File 'lib/rtt/storage.rb', line 17

def init(database = :rtt)
  DataMapper.setup(:default, {:adapter => "sqlite3", :database => File.join( File.dirname(__FILE__), '..', '..', 'db', "#{database.to_s}.sqlite3") })
  migrate unless missing_tables
  #DataObjects::Sqlite3.logger = DataMapper::Logger.new(File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'log', 'sqlite3.log')), 0)
end

#migrateObject

:nodoc:



23
24
25
# File 'lib/rtt/storage.rb', line 23

def migrate #:nodoc:
  DataMapper.auto_migrate!
end

#missing_tablesObject



27
28
29
# File 'lib/rtt/storage.rb', line 27

def missing_tables
  %W(rtt_projects rtt_users rtt_clients rtt_tasks).reject { |table| DataMapper.repository.storage_exists?(table) }.empty?
end