Class: Memtf::Persistance
- Inherits:
-
Object
- Object
- Memtf::Persistance
- Defined in:
- lib/memtf/persistance.rb
Overview
Encapsulates the logic and mechanism for saving and loading raw memory data.
Constant Summary collapse
- OUTPUT_DIR =
The directory where raw data is stored
"tmp/memtf"
Class Method Summary collapse
-
.load(name, group) ⇒ Object
De-serialize group data from the filesystem.
-
.save(name, group, payload) ⇒ Object
Serialize group data to the filesystem.
Class Method Details
.load(name, group) ⇒ Object
De-serialize group data from the filesystem.
31 32 33 34 |
# 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) ⇒ Object
Serialize group data to the filesystem.
16 17 18 19 20 21 22 23 24 |
# 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 |