lib/reality/zapwhite.rb in zapwhite-2.7.0 vs lib/reality/zapwhite.rb in zapwhite-2.8.0

- old
+ new

@@ -70,24 +70,26 @@ collect_file_attributes(files) files.each_pair do |filename, config| full_filename = "#{@base_directory}/#{filename}" - content = File.read(full_filename) + original_bin_content = File.binread(full_filename) - content = patch_encoding(content) unless config[:encoding] - original_content = content.dup + encoding = config[:encoding].nil? ? 'utf-8' : config[:encoding].gsub(/^UTF/,'utf-') + + content = File.read(full_filename, :encoding => "bom|#{encoding}") + content = config[:dos] ? clean_dos_whitespace(filename, content, config[:eofnl]) : clean_whitespace(filename, content, config[:eofnl]) if config[:nodupnl] while content.gsub!(/\n\n\n/, "\n\n") # Keep removing duplicate new lines till they have gone end end - if content != original_content + if content.bytes != original_bin_content.bytes normalize_count += 1 if check_only? puts "Non-normalized whitespace in #{filename}" else puts "Fixing: #{filename}" @@ -175,19 +177,10 @@ puts "Skipping dos whitespace cleanup: #{filename}" end content end - def patch_encoding(content) - content = - content.respond_to?(:encode!) ? - content.encode!('UTF-8', 'binary', :invalid => :replace, :undef => :replace, :replace => '') : - content - content.gsub!(/^\xEF\xBB\xBF/, '') - content - end - # Evaluate block after changing directory to specified directory def in_dir(dir, &block) original_dir = Dir.pwd begin Dir.chdir(dir) @@ -226,10 +219,10 @@ attributes.text_rule('*.md') attributes.text_rule('*.textile') attributes.text_rule('*.rdoc') attributes.text_rule('*.html') attributes.text_rule('*.xhtml') - attributes.text_rule('*.css', :encoding => 'UTF8') + attributes.text_rule('*.css') attributes.text_rule('*.js') attributes.binary_rule('*.jpg') attributes.binary_rule('*.jpeg') attributes.binary_rule('*.png') attributes.binary_rule('*.bmp')