From 31e33f99f2453bfcfb4b93c10286b3e876a84987 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 24 Sep 2012 10:51:39 -0500 Subject: [PATCH] Ensure lang is skipped on any binary file --- lib/linguist/blob_helper.rb | 2 +- lib/linguist/language.rb | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/linguist/blob_helper.rb b/lib/linguist/blob_helper.rb index b0a20626..d7f56de5 100644 --- a/lib/linguist/blob_helper.rb +++ b/lib/linguist/blob_helper.rb @@ -302,7 +302,7 @@ module Linguist if defined?(@data) && @data.is_a?(String) data = @data else - data = lambda { binary_mime_type? ? "" : self.data } + data = lambda { (binary_mime_type? || binary?) ? "" : self.data } end @language = Language.detect(name.to_s, data, mode) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index fb242041..a6b199c6 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -84,7 +84,9 @@ module Linguist if possible_languages.length > 1 data = data.call() if data.respond_to?(:call) - if result = Classifier.classify(Samples::DATA, data, possible_languages.map(&:name)).first + if data.nil? || data == "" + nil + elsif result = Classifier.classify(Samples::DATA, data, possible_languages.map(&:name)).first Language[result[0]] end else