mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Warn if classifier instance is out of date
This commit is contained in:
@@ -29,6 +29,19 @@ module Linguist
|
|||||||
@languages = Hash.new(0)
|
@languages = Hash.new(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Public: Compare Classifier objects.
|
||||||
|
#
|
||||||
|
# other - Classifier object to compare to.
|
||||||
|
#
|
||||||
|
# Returns Boolean.
|
||||||
|
def eql?(other)
|
||||||
|
# Lazy fast check counts only
|
||||||
|
other.is_a?(self.class) &&
|
||||||
|
@tokens_total == other.instance_variable_get(:@tokens_total) &&
|
||||||
|
@languages_total == other.instance_variable_get(:@languages_total)
|
||||||
|
end
|
||||||
|
alias_method :==, :eql?
|
||||||
|
|
||||||
# Public: Train classifier that data is a certain language.
|
# Public: Train classifier that data is a certain language.
|
||||||
#
|
#
|
||||||
# language - Language of data
|
# language - Language of data
|
||||||
|
|||||||
@@ -16,6 +16,13 @@ class TestClassifier < Test::Unit::TestCase
|
|||||||
File.read(File.join(fixtures_path, name))
|
File.read(File.join(fixtures_path, name))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_instance_freshness
|
||||||
|
# Just warn, it shouldn't scare people off by breaking the build.
|
||||||
|
unless Classifier.instance.eql?(Linguist::Sample.classifier)
|
||||||
|
warn "Classifier database is out of date. Run `bundle exec rake classifier`."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_classify
|
def test_classify
|
||||||
classifier = Classifier.new
|
classifier = Classifier.new
|
||||||
classifier.train Language["Ruby"], fixture("ruby/foo.rb")
|
classifier.train Language["Ruby"], fixture("ruby/foo.rb")
|
||||||
|
|||||||
Reference in New Issue
Block a user