Sha256: d5f8736904496712667775ae7f313c7f2159f26f0b25926549635c55e831a0a1
Contents?: true
Size: 1.12 KB
Versions: 24
Compression:
Stored size: 1.12 KB
Contents
module MyAdmin class YMLManager def self.generate_yml directory, file @base_path = file @current_path = "#{directory}/#{file}" @current = YAML.load(File.read( @current_path )) MyAdmin::YMLManager.merge end protected def self.merge unless File.exists?(@base_path) File.open(@base_path, "w") { |out| YAML.dump( YAML.load(File.read( @current_path) ) , out) } puts "create " + @base_path else @base = YAML.load(File.read( @base_path )) || {} @current = YAML.load(File.read( @current_path )) || {} MyAdmin::YMLManager.merge_packages @base, @current File.open(@base_path, "w") { |out| YAML.dump(@base, out) } puts "merge " + @base_path end end def self.merge_packages base, current if(base.class == Hash && current.class == Hash) current.each_key do |asset_type| if base.has_key?(asset_type) MyAdmin::YMLManager.merge_packages base[asset_type], current[asset_type] else base[asset_type] = current[asset_type] end end end end end end
Version data entries
24 entries across 24 versions & 1 rubygems