class SerializationHelper::Base
Attributes
extension[R]
Public Class Methods
new(helper)
click to toggle source
# File lib/serialization_helper.rb, line 6 def initialize(helper) @dumper = helper.dumper @loader = helper.loader @extension = helper.extension end
Public Instance Methods
disable_logger()
click to toggle source
# File lib/serialization_helper.rb, line 51 def disable_logger @@old_logger = ActiveRecord::Base.logger ActiveRecord::Base.logger = nil end
dump(file)
click to toggle source
# File lib/serialization_helper.rb, line 12 def dump(file) disable_logger unless File.exist?(file) full_path = (file).match(/^(.*\/)?(?:$|(.+?)(?:(\.[^.]*$)|$))/)[1] FileUtils.mkdir_p full_path end f = File.open(file, "w") @dumper.dump(f) reenable_logger end
dump_to_dir(dirname)
click to toggle source
# File lib/serialization_helper.rb, line 23 def dump_to_dir(dirname) Dir.mkdir(dirname) tables = @dumper.tables tables.each do |table| io = File.new "#{dirname}/#{table}.#{@extension}", "w" @dumper.before_table(io, table) @dumper.dump_table io, table @dumper.after_table(io, table) end end
load(filename, truncate = false)
click to toggle source
# File lib/serialization_helper.rb, line 34 def load(filename, truncate = false) disable_logger ActiveRecord::Base.connection.disable_referential_integrity do @loader.load(File.new(filename, "r"), truncate) end reenable_logger end
load_from_dir(dirname, truncate = true)
click to toggle source
# File lib/serialization_helper.rb, line 42 def load_from_dir(dirname, truncate = true) Dir.entries(dirname).each do |filename| if filename =~ /^[.]/ next end @loader.load(File.new("#{dirname}/#{filename}", "r"), truncate) end end
reenable_logger()
click to toggle source
# File lib/serialization_helper.rb, line 56 def reenable_logger ActiveRecord::Base.logger = @@old_logger end