Class: YamlSaver
- Inherits:
-
Object
- Object
- YamlSaver
- Defined in:
- lib/codebreaker/yaml_saver.rb
Overview
YamlSaver class for store/load entity
Constant Summary collapse
- DEFAULT_YAML_FILE_NAME =
'data.yaml'
Instance Method Summary collapse
-
#initialize(file_name: DEFAULT_YAML_FILE_NAME, permitted_classes: []) ⇒ YamlSaver
constructor
A new instance of YamlSaver.
- #load ⇒ Object
- #store(entity = []) ⇒ Object
Constructor Details
#initialize(file_name: DEFAULT_YAML_FILE_NAME, permitted_classes: []) ⇒ YamlSaver
Returns a new instance of YamlSaver.
8 9 10 11 12 13 |
# File 'lib/codebreaker/yaml_saver.rb', line 8 def initialize(file_name: DEFAULT_YAML_FILE_NAME, permitted_classes: []) @file_name = file_name @permitted_classes = permitted_classes File.new(@file_name, File::CREAT) unless File.exist?(@file_name) end |
Instance Method Details
#load ⇒ Object
19 20 21 22 |
# File 'lib/codebreaker/yaml_saver.rb', line 19 def load = { permitted_classes: @permitted_classes, aliases: true } File.open(@file_name) { |file| Psych.safe_load(file, **) } end |
#store(entity = []) ⇒ Object
15 16 17 |
# File 'lib/codebreaker/yaml_saver.rb', line 15 def store(entity = []) File.open(@file_name, 'w') { |f| Psych.dump(entity, f) } end |