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