class Memtf::Persistance

Encapsulates the logic and mechanism for saving and loading raw memory data.

Constants

OUTPUT_DIR

The directory where raw data is stored

Public Class Methods

load(name, group) click to toggle source

De-serialize group data from the filesystem.

@param [String] name @param [String] group @return [Object]

# File lib/memtf/persistance.rb, line 31
def load(name, group)
  load_file = "#{group_dir(group)}/#{name}-#{Process.pid}.json"
  ::MultiJson.decode File.read(load_file)
end
save(name, group, payload) click to toggle source

Serialize group data to the filesystem.

@param [String] name @param [String] group @param [Object] payload

# File lib/memtf/persistance.rb, line 16
def save(name, group, payload)
  group_directory = group_dir(group)
  FileUtils.mkdir_p("#{group_directory}")

  save_file = "#{group_directory}/#{name}-#{Process.pid}.json"
  File.open(save_file, 'w+') do |f|
    f.print ::MultiJson.encode(payload)
  end
end

Private Class Methods

group_dir(group) click to toggle source

@param [String] group @return [String] the group dir

# File lib/memtf/persistance.rb, line 40
def group_dir(group)
  "#{OUTPUT_DIR}/#{group}"
end