Sha256: 03826606da835b7f2d0f8f66183d1847e5538c769a7b1075dd6733daa33db475

Contents?: true

Size: 644 Bytes

Versions: 2

Compression:

Stored size: 644 Bytes

Contents

require 'yaml'

module VersionInfo
  # Version data is stored in a yaml file as a simple hash, i.e. :

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

  class YamlStorage < Storage
    def default_file_name
      'version_info.yml'
    end

    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

    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
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
version_info-1.9.0 lib/version_info/yaml_storage.rb
version_info-1.8.8 lib/version_info/yaml_storage.rb