Sha256: 5bc21db1d091772de6d18f7434f970498329d177dc392a4d65dd4daabf2e1975
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
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
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
tylerhunt-relax-0.0.5 | lib/relax/parsers/factory.rb |
relax-0.0.5 | lib/relax/parsers/factory.rb |