class SengiriYaml::Writer
Public Instance Methods
divide(src_file, dst_dir)
click to toggle source
divide yaml file @param src_file [String] @param dst_dir [String] @return [Array<String>] divided yaml filenames
# File lib/sengiri_yaml/writer.rb, line 10 def divide(src_file, dst_dir) FileUtils.mkdir_p(dst_dir) unless File.exist?(dst_dir) src_content = YAML.load_file(src_file) filenames = [] case src_content when Hash src_content.each do |key, value| filename = "#{dst_dir}/#{key}.yml" File.open(filename, "wb") do |f| f.write({key => value}.to_yaml) end filenames << filename end when Array src_content.each_with_index do |element, index| filename = "#{dst_dir}/#{index}.yml" File.open(filename, "wb") do |f| f.write([element].to_yaml) end filenames << filename end else raise "Unknown type" end filenames end