class Rouge::Guessers::Disambiguation
Public Class Methods
disambiguate(*patterns, &decider)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 38 def self.disambiguate(*patterns, &decider) @disambiguators << Disambiguator.new(patterns, &decider) end
disambiguators()
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 42 def self.disambiguators @disambiguators end
new(filename, source)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 8 def initialize(filename, source) @filename = File.basename(filename) @source = source end
Public Instance Methods
contains?(text)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 29 def contains?(text) return @analyzer.include?(text) end
filter(lexers)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 13 def filter(lexers) return lexers if lexers.size == 1 return lexers if lexers.size == Lexer.all.size @analyzer = TextAnalyzer.new(get_source(@source)) self.class.disambiguators.each do |disambiguator| next unless disambiguator.match?(@filename) filtered = disambiguator.decide!(self) return filtered if filtered end return lexers end
matches?(re)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 33 def matches?(re) return !!(@analyzer =~ re) end