summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/util')
-rw-r--r--lib/puppet/util/classgen.rb14
-rw-r--r--lib/puppet/util/log/destinations.rb6
-rw-r--r--lib/puppet/util/rdoc/parser.rb12
3 files changed, 25 insertions, 7 deletions
diff --git a/lib/puppet/util/classgen.rb b/lib/puppet/util/classgen.rb
index ed69c5878..1e99aa873 100644
--- a/lib/puppet/util/classgen.rb
+++ b/lib/puppet/util/classgen.rb
@@ -124,11 +124,23 @@ module Puppet::Util::ClassGen
klass
end
+ # const_defined? in Ruby 1.9 behaves differently in terms
+ # of which class hierarchy it polls for nested namespaces
+ #
+ # See http://redmine.ruby-lang.org/issues/show/1915
+ def is_constant_defined?(const)
+ if ::RUBY_VERSION =~ /1.9/
+ const_defined?(const, false)
+ else
+ const_defined?(const)
+ end
+ end
+
# Handle the setting and/or removing of the associated constant.
def handleclassconst(klass, name, options)
const = genconst_string(name, options)
- if const_defined?(const)
+ if is_constant_defined?(const)
if options[:overwrite]
Puppet.info "Redefining #{name} in #{self}"
remove_const(const)
diff --git a/lib/puppet/util/log/destinations.rb b/lib/puppet/util/log/destinations.rb
index dd0d996bf..9550e2c3b 100644
--- a/lib/puppet/util/log/destinations.rb
+++ b/lib/puppet/util/log/destinations.rb
@@ -96,7 +96,7 @@ Puppet::Util::Log.newdesttype :console do
HWHITE = {:console => "", :html => "FFFFFF"}
RESET = {:console => "", :html => "" }
- @@colormap = {
+ Colormap = {
:debug => WHITE,
:info => GREEN,
:notice => CYAN,
@@ -117,11 +117,11 @@ Puppet::Util::Log.newdesttype :console do
end
def console_color(level, str)
- @@colormap[level][:console] + str + RESET[:console]
+ Colormap[level][:console] + str + RESET[:console]
end
def html_color(level, str)
- %{<span style="color: %s">%s</span>} % [@@colormap[level][:html], str]
+ %{<span style="color: %s">%s</span>} % [Colormap[level][:html], str]
end
def initialize
diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb
index 0f746e2ea..762ce25f0 100644
--- a/lib/puppet/util/rdoc/parser.rb
+++ b/lib/puppet/util/rdoc/parser.rb
@@ -7,13 +7,19 @@
require "rdoc/code_objects"
require "puppet/util/rdoc/code_objects"
require "rdoc/tokenstream"
-require "rdoc/markup/simple_markup/preprocess"
-require "rdoc/parsers/parserfactory"
+
+if ::RUBY_VERSION =~ /1.9/
+ require "rdoc/markup/preprocess"
+ require "rdoc/parser"
+else
+ require "rdoc/markup/simple_markup/preprocess"
+ require "rdoc/parsers/parserfactory"
+end
module RDoc
class Parser
- extend ParserFactory
+ extend ParserFactory unless ::RUBY_VERSION =~ /1.9/
SITE = "__site__"