class Rouge::Guessers::Disambiguation
Public Class Methods
disambiguate(*patterns, &decider)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 39 def self.disambiguate(*patterns, &decider) @disambiguators << Disambiguator.new(patterns, &decider) end
disambiguators()
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 43 def self.disambiguators @disambiguators end
new(filename, source)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 9 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 30 def contains?(text) return @analyzer.include?(text) end
filter(lexers)
click to toggle source
# File lib/rouge/guessers/disambiguation.rb, line 14 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 34 def matches?(re) return !!(@analyzer =~ re) end