summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/parser/parser_support.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/puppet/parser/parser_support.rb b/lib/puppet/parser/parser_support.rb
index 1b961cd04..df89ed794 100644
--- a/lib/puppet/parser/parser_support.rb
+++ b/lib/puppet/parser/parser_support.rb
@@ -5,6 +5,7 @@ class Puppet::Parser::Parser
require 'puppet/parser/files'
require 'puppet/parser/loaded_code'
require 'puppet/parser/resource_type'
+ require 'puppet/dsl'
require 'monitor'
AST = Puppet::Parser::AST
@@ -83,11 +84,11 @@ class Puppet::Parser::Parser
end
def file=(file)
- unless FileTest.exists?(file)
+ unless FileTest.exist?(file)
unless file =~ /\.pp$/
file = file + ".pp"
end
- unless FileTest.exists?(file)
+ unless FileTest.exist?(file)
raise Puppet::Error, "Could not find file %s" % file
end
end
@@ -317,6 +318,7 @@ class Puppet::Parser::Parser
# how should I do error handling here?
def parse(string = nil)
+ return parse_ruby_file if self.file =~ /\.rb$/
if string
self.string = string
end
@@ -358,6 +360,10 @@ class Puppet::Parser::Parser
@lexer.clear
end
+ def parse_ruby_file
+ require self.file
+ end
+
# See if any of the files have changed.
def reparse?
if file = @files.detect { |name, file| file.changed? }