From 346c0ee2e0ce91942691d60c873237cc146a4b70 Mon Sep 17 00:00:00 2001 From: no author Date: Mon, 26 Sep 2005 23:59:46 +0000 Subject: Added $Id$ keyword. --- gem_server/gems/coderay-0.4.1.17.gem | Bin 46080 -> 47616 bytes lib/coderay/encoder.rb | 40 ++++++++++++++++++++--------------- lib/coderay/scanner.rb | 8 ++++--- 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/gem_server/gems/coderay-0.4.1.17.gem b/gem_server/gems/coderay-0.4.1.17.gem index 0b369d8..49f2df2 100644 Binary files a/gem_server/gems/coderay-0.4.1.17.gem and b/gem_server/gems/coderay-0.4.1.17.gem differ diff --git a/lib/coderay/encoder.rb b/lib/coderay/encoder.rb index 5f6d511..b6a22f0 100644 --- a/lib/coderay/encoder.rb +++ b/lib/coderay/encoder.rb @@ -1,6 +1,6 @@ module CodeRay - # This module holds class Encoder and its subclasses. + # This module holds the Encoder class and its subclasses. # For example, the HTML encoder is named CodeRay::Encoders::HTML # can be found in coderay/encoders/html. # @@ -10,27 +10,31 @@ module CodeRay module Encoders # Raised if Encoders[] fails because: - # * an file could not be found + # * a file could not be found # * the requested Encoder is not registered EncoderNotFound = Class.new Exception - # Loaded Encoders are saved here. - ENCODERS = Hash.new do |h, lang| - path = Encoders.path_to lang - lang = lang.to_sym - begin - require path - rescue LoadError - raise EncoderNotFound, "#{path} not found." - else - # Encoder should have registered by now - unless h[lang] - raise EncoderNotFound, "No Encoder for #{lang} found in #{path}." + def Encoders.create_encoders_hash + Hash.new do |h, lang| + path = Encoders.path_to lang + lang = lang.to_sym + begin + require path + rescue LoadError + raise EncoderNotFound, "#{path} not found." + else + # Encoder should have registered by now + unless h[lang] + raise EncoderNotFound, "No Encoder for #{lang} found in #{path}." + end end + h[lang] end - h[lang] end + # Loaded Encoders are saved here. + ENCODERS = create_encoders_hash + class << self # Every Encoder class must register itself for one or more +formats+ @@ -63,8 +67,10 @@ module CodeRay end - # The Encoder base class. Together with CodeRay::Scanner and - # CodeRay::Tokens, it forms the highlighting triad. + # = Encoder + # + # The Encoder base class. Together with Scanner and + # Tokens, it forms the highlighting triad. # # Encoder instances take a Tokens object and do something with it. # diff --git a/lib/coderay/scanner.rb b/lib/coderay/scanner.rb index 1cca607..a74a736 100644 --- a/lib/coderay/scanner.rb +++ b/lib/coderay/scanner.rb @@ -131,12 +131,14 @@ Known scanners: #{SCANNERS} require 'strscan' + # = Scanner + # # The base class for all Scanners. # # It is a subclass of Ruby's great +StringScanner+, which # makes it easy to access the scanning methods inside. # - # It is also +Enumerable+, so you can do this: + # It is also +Enumerable+, so you can use it like an Array of Tokens: # # require 'coderay' # @@ -148,8 +150,8 @@ Known scanners: #{SCANNERS} # # # prints: (*==)++; # - # OK, this is not a very good example :) - # You can also use map, any?, find and even sort_by. + # OK, this is a very simple example :) + # You can also use +map+, +any?+, +find+ and even +sort_by+, if you want. class Scanner < StringScanner # Raised if a Scanner fails while scanning -- cgit v1.2.1