diff options
author | Luke Kanies <luke@madstop.com> | 2008-02-13 16:27:35 -0600 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2008-02-13 16:27:35 -0600 |
commit | 0cfa1d2b7ae38020d3b845d7713cb10cda7facef (patch) | |
tree | fcfa2861cb0174ab610235a14c69909d094de4a8 /lib/puppet/parser/interpreter.rb | |
parent | 8367fdfab25aacb56f16444f5763b347e6a907ab (diff) | |
download | puppet-0cfa1d2b7ae38020d3b845d7713cb10cda7facef.tar.gz puppet-0cfa1d2b7ae38020d3b845d7713cb10cda7facef.tar.xz puppet-0cfa1d2b7ae38020d3b845d7713cb10cda7facef.zip |
Fixed #968 again, this time with tests -- parseonly works,
including not compiling the configurations, and also storeconfigs
is no longer required during parse-testing.
Diffstat (limited to 'lib/puppet/parser/interpreter.rb')
-rw-r--r-- | lib/puppet/parser/interpreter.rb | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/lib/puppet/parser/interpreter.rb b/lib/puppet/parser/interpreter.rb index 1d93193dd..d4b7449fb 100644 --- a/lib/puppet/parser/interpreter.rb +++ b/lib/puppet/parser/interpreter.rb @@ -42,6 +42,26 @@ class Puppet::Parser::Interpreter @parsers = {} end + # Return the parser for a specific environment. + def parser(environment) + if ! @parsers[environment] or @parsers[environment].reparse? + # This will throw an exception if it does not succeed. We only + # want to get rid of the old parser if we successfully create a new + # one. + begin + tmp = create_parser(environment) + @parsers[environment].clear if @parsers[environment] + @parsers[environment] = tmp + rescue => detail + # If a parser already exists, than assume that we logged the + # exception elsewhere and reuse the parser. If one doesn't + # exist, then reraise. + raise detail unless @parsers[environment] + end + end + @parsers[environment] + end + private # Create a new parser object and pre-parse the configuration. @@ -67,24 +87,4 @@ class Puppet::Parser::Interpreter raise error end end - - # Return the parser for a specific environment. - def parser(environment) - if ! @parsers[environment] or @parsers[environment].reparse? - # This will throw an exception if it does not succeed. We only - # want to get rid of the old parser if we successfully create a new - # one. - begin - tmp = create_parser(environment) - @parsers[environment].clear if @parsers[environment] - @parsers[environment] = tmp - rescue => detail - # If a parser already exists, than assume that we logged the - # exception elsewhere and reuse the parser. If one doesn't - # exist, then reraise. - raise detail unless @parsers[environment] - end - end - @parsers[environment] - end end |