class JunglePath::DBAccess::Import::DBDir

Attributes

config[R]
delete[R]
insert[R]
log_path[R]
path[R]
schema[R]
select[R]

Public Class Methods

new(config, logger=nil) click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 18
def initialize(config, logger=nil)
  @logger = logger
  @config = config
  @path = config.import_file_path
  @log_path = config.import_log_path
  Dir.mkdir(path) unless Dir.exist?(path)
  clear_import_files
  @select = JunglePath::DBAccess::Import::Select.new @config, @logger
  @insert = JunglePath::DBAccess::Import::Insert.new @config, @logger
  @delete = JunglePath::DBAccess::Import::Delete.new @config, @logger
  @schema = JunglePath::DBAccess::Import::Schema.new @config, @logger
end

Public Instance Methods

clear_import_files() click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 44
def clear_import_files
  if Dir.exist?(path)
    data_files = Dir.glob(File.join(path, "*.dat"))
    data_files.each do |file_name|
      File.delete file_name
    end
  end
end
reset_sequence_for_table(table_name) click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 31
def reset_sequence_for_table(table_name)
  @insert.db.reset_sequence_for_table(table_name)
end
transaction() { || ... } click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 35
def transaction
  begin_transaction
  yield
  commit_transaction
rescue
  rollback_transaction
  raise
end

Private Instance Methods

begin_transaction() click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 55
def begin_transaction
  # not implemented :)
end
commit_transaction() click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 59
def commit_transaction
  @insert.close_files
  @insert.write_to_db
  @insert.reset
end
rollback_transaction() click to toggle source
# File lib/jungle_path/db_access/import/db_dir.rb, line 65
def rollback_transaction
  @insert.close_files
  @insert.reset
end