From 2495a0ba33832d20e3eadc163999dd40123e10c1 Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Thu, 12 May 2016 14:21:07 -0500 Subject: Extract notes from files in binary Prevents: ArgumentError: invalid byte sequence in UTF-8 railties/lib/rails/source_annotation_extractor.rb:115:in `=~' railties/lib/rails/source_annotation_extractor.rb:115:in `block in extract_annotations_from' And there's no reason we need to interpret the files as UTF-8 when scanning for annotations. Applies to Rails 4.2 as well. --- railties/lib/rails/source_annotation_extractor.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails') diff --git a/railties/lib/rails/source_annotation_extractor.rb b/railties/lib/rails/source_annotation_extractor.rb index f0df76d3f3..c60e59cb88 100644 --- a/railties/lib/rails/source_annotation_extractor.rb +++ b/railties/lib/rails/source_annotation_extractor.rb @@ -116,7 +116,7 @@ class SourceAnnotationExtractor # Otherwise it returns an empty hash. def extract_annotations_from(file, pattern) lineno = 0 - result = File.readlines(file).inject([]) do |list, line| + result = File.readlines(file, encoding: Encoding::BINARY).inject([]) do |list, line| lineno += 1 next list unless line =~ pattern list << Annotation.new(lineno, $1, $2) -- cgit v1.2.3