class Rouge::Guessers::Source

Attributes

source[R]

Public Class Methods

new(source) click to toggle source
# File lib/rouge/guessers/source.rb, line 9
def initialize(source)
  @source = source
end

Public Instance Methods

filter(lexers) click to toggle source
# File lib/rouge/guessers/source.rb, line 13
def filter(lexers)
  # don't bother reading the input if
  # we've already filtered to 1
  return lexers if lexers.size == 1

  source_text = get_source(@source)

  Lexer.assert_utf8!(source_text)

  source_text = TextAnalyzer.new(source_text)

  collect_best(lexers) do |lexer|
    next unless lexer.detectable?
    lexer.detect?(source_text) ? 1 : nil
  end
end