Class: VersionInfo::YamlStorage

Inherits:
Storage
  • Object
show all
Defined in:
lib/version_info/yaml_storage.rb

Overview


major: 1 minor: 1 patch: 4 author: jcangas

Instance Method Summary collapse

Methods inherited from Storage

#data, #file_name, #initialize, #load, #load_content, #save

Constructor Details

This class inherits a constructor from VersionInfo::Storage

Instance Method Details

#default_file_nameObject



13
14
15
# File 'lib/version_info/yaml_storage.rb', line 13

def default_file_name
  'version_info.yml'
end

#parse_from(content) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/version_info/yaml_storage.rb', line 17

def parse_from(content)
  values = YAML.load(content.join("\n"))
  # force keys as symbols
 values.keys.each{|k| values[k.to_sym] = values.delete(k)}
  data.assign(values)
  self
end

#save_to(io) ⇒ Object



25
26
27
28
29
# File 'lib/version_info/yaml_storage.rb', line 25

def save_to(io)
 values = data.to_hash.keys.compact.inject({}){|r, k| r[k.to_s] = data.send(k); r }
  YAML.dump(values, io)
 self      
end