summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/parser_support.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@reductivelabs.com>2010-01-04 16:43:15 -0800
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commitdf2d39248dd0bb2adc7b4f723722079cad2749ad (patch)
treec79be8a9d6055b532950a453ff5b951ef6fe8b72 /lib/puppet/parser/parser_support.rb
parentb938edf35fc50e6a43aa09f1ec8415b19f06b2af (diff)
downloadpuppet-df2d39248dd0bb2adc7b4f723722079cad2749ad.tar.gz
puppet-df2d39248dd0bb2adc7b4f723722079cad2749ad.tar.xz
puppet-df2d39248dd0bb2adc7b4f723722079cad2749ad.zip
Adding support for parsing ruby files
This doesn't work without the later commits - it just relies on Ruby to read in Ruby files. Signed-off-by: Luke Kanies <luke@reductivelabs.com>
Diffstat (limited to 'lib/puppet/parser/parser_support.rb')
-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? }