# encoding: utf-8 # add_magic_comment.rb -- 18.11.2011 -- mhatakeyama@ywesee.com require 'tempfile' require 'fileutils' require 'find' def add_magic_comment(file) lines = File.readlines(file) unless (lines[0] =~ /encoding/ or lines[1] =~ /encoding/) open('temp.dat','w') do |out| unless (lines[0] =~ /encoding/ or lines[1] =~ /encoding/) if lines[0] =~ /ruby/ out.print lines[0] out.print '# encoding: utf-8', "\n" out.print(lines[1..-1].join) else out.print '# encoding: utf-8', "\n" out.print(lines.join) end end end FileUtils.cp('temp.dat', file) FileUtils.rm 'temp.dat' end end here = File.expand_path(File.dirname(__FILE__)) Find.find(here) { |file| if file.match(/\.rb$/) and file != File.expand_path(__FILE__) p file add_magic_comment(file) end }