Sha256: b820d4d2b8bea60d24e163a36ddf4b78c2c2748918e885cc70c5accd30d24d33
Contents?: true
Size: 915 Bytes
Versions: 3
Compression:
Stored size: 915 Bytes
Contents
module Relax module Parsers # Manages the Relax::Parsers in the library. module Factory class << self # Returns the parser class which has been registered for the given # +name+. def get(name) @@parsers ||= {} @@parsers[name] || raise(UnrecognizedParser, "Given parser name not recognized: #{name.inspect}. Expected one of: #{@@parsers.keys.inspect}") end # Registers a new parser with the factory. The +name+ should be unique, # but if not, it will override the previously defined parser for the # given +name+. def register(name, klass) @@parsers ||= {} @@parsers[:default] = klass if @@parsers.empty? @@parsers[name] = klass end # Removes all registered parsers from the factory. def clear! @@parsers = {} end end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
dbalatero-relax-0.0.7.1 | lib/relax/parsers/factory.rb |
relax-0.0.6 | lib/relax/parsers/factory.rb |
relax-0.0.7 | lib/relax/parsers/factory.rb |