summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/scope.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-10-09 15:51:05 +0200
committerLuke Kanies <luke@madstop.com>2008-10-09 15:51:05 +0200
commit9ef6209b3ed1269f7cd1e6a8d0f189f6b5712800 (patch)
tree3c786b42679f3bea18979aceb8e3bf2a5184f366 /lib/puppet/parser/scope.rb
parentb96bdc6a63f7be6b724c2aa7ad0ea007cba81718 (diff)
parent0fff7d76e89a650f5d2e78b2c69b30635880c36b (diff)
downloadpuppet-9ef6209b3ed1269f7cd1e6a8d0f189f6b5712800.tar.gz
puppet-9ef6209b3ed1269f7cd1e6a8d0f189f6b5712800.tar.xz
puppet-9ef6209b3ed1269f7cd1e6a8d0f189f6b5712800.zip
Merge branch '0.24.x' of git://github.com/jamtur01/puppet into 0.24.x
Diffstat (limited to 'lib/puppet/parser/scope.rb')
-rw-r--r--lib/puppet/parser/scope.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/puppet/parser/scope.rb b/lib/puppet/parser/scope.rb
index 1ff998d96..4acdf41c9 100644
--- a/lib/puppet/parser/scope.rb
+++ b/lib/puppet/parser/scope.rb
@@ -43,6 +43,29 @@ class Puppet::Parser::Scope
end
end
+ # Is the value a number?, return the correct object or nil if not a number
+ def self.number?(value)
+ unless value.is_a?(Fixnum) or value.is_a?(Bignum) or value.is_a?(Float) or value.is_a?(String)
+ return nil
+ end
+
+ if value.is_a?(String)
+ if value =~ /^-?\d+(:?\.\d+|(:?\.\d+)?e\d+)$/
+ return value.to_f
+ elsif value =~ /^0x\d+/i
+ return value.to_i(16)
+ elsif value =~ /^0\d+/i
+ return value.to_i(8)
+ elsif value =~ /^-?\d+/
+ return value.to_i
+ else
+ return nil
+ end
+ end
+ # it is one of Fixnum,Bignum or Float
+ return value
+ end
+
# Add to our list of namespaces.
def add_namespace(ns)
return false if @namespaces.include?(ns)