class RougeLines::Guessers::Disambiguation
Public Class Methods
disambiguate(*patterns, &decider)
click to toggle source
# File lib/rouge-lines/guessers/disambiguation.rb, line 37 def self.disambiguate(*patterns, &decider) @disambiguators << Disambiguator.new(patterns, &decider) end
disambiguators()
click to toggle source
# File lib/rouge-lines/guessers/disambiguation.rb, line 41 def self.disambiguators @disambiguators end
new(filename, source)
click to toggle source
# File lib/rouge-lines/guessers/disambiguation.rb, line 7 def initialize(filename, source) @filename = File.basename(filename) @source = source end
Public Instance Methods
contains?(text)
click to toggle source
# File lib/rouge-lines/guessers/disambiguation.rb, line 28 def contains?(text) return @analyzer.include?(text) end
filter(lexers)
click to toggle source
# File lib/rouge-lines/guessers/disambiguation.rb, line 12 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-lines/guessers/disambiguation.rb, line 32 def matches?(re) return !!(@analyzer =~ re) end