Class: Configuration::Scope
- Inherits:
-
Object
- Object
- Configuration::Scope
- Includes:
- ClassLogging
- Defined in:
- lib/httpimagestore/configuration.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(configuration) ⇒ Scope
constructor
A new instance of Scope.
- #parse(node) ⇒ Object
Constructor Details
#initialize(configuration) ⇒ Scope
Returns a new instance of Scope.
104 105 106 |
# File 'lib/httpimagestore/configuration.rb', line 104 def initialize(configuration) @configuration = configuration end |
Class Method Details
.node_parsers ⇒ Object
95 96 97 |
# File 'lib/httpimagestore/configuration.rb', line 95 def self.node_parsers @node_parsers ||= [] end |
.register_node_parser(parser) ⇒ Object
99 100 101 102 |
# File 'lib/httpimagestore/configuration.rb', line 99 def self.register_node_parser(parser) parser.logger = logger_for(parser) if parser.respond_to? :logger= node_parsers << parser end |
Instance Method Details
#parse(node) ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/httpimagestore/configuration.rb', line 108 def parse(node) self.class.node_parsers.each do |parser| parser.pre(@configuration) if parser.respond_to? :pre end node.children.each do |node| parser = self.class.node_parsers.find do |parser| parser.match node end if parser parser.parse(@configuration, node) else log.warn "unexpected statement: #{node.name}" end end self.class.node_parsers.each do |parser| parser.post(@configuration) if parser.respond_to? :post end @configuration end |