class LanguageDetector def initialize(article) @article = article end def detect response = get_language response["result"] if response["confidence"] > 0.8 rescue StandardError nil end def get_language return { "result" => "en", "confidence" => 0.9 } unless Rails.env.production? client = Algorithmia.client(ApplicationConfig["ALGORITHMIA_KEY"]) algo = client.algo("miguelher/LanguageDetector/0.1.0") algo.pipe(text).result end def text @article.title + "\n" + non_default_description.to_s + FrontMatterParser::Parser.new(:md).call(@article.body_markdown).content.split("`")[0] end def non_default_description @article.description + "\n" unless @article.description.include? "From the DEV community" end end