summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util
diff options
context:
space:
mode:
authorMax Martin <max@puppetlabs.com>2011-03-23 14:43:29 -0700
committerMax Martin <max@puppetlabs.com>2011-03-23 14:43:29 -0700
commit4196699f5fbb90ceecbb709c8502622eaad39062 (patch)
treeadb06f307051368e9fe9a23c3338fe7511eb8adf /lib/puppet/util
parent7e71840e29cb09c772668a51ada3cab1e319e50f (diff)
parent66d0b16c8a0a55dd79b1b0f0e639f107e552d9ab (diff)
downloadpuppet-4196699f5fbb90ceecbb709c8502622eaad39062.tar.gz
puppet-4196699f5fbb90ceecbb709c8502622eaad39062.tar.xz
puppet-4196699f5fbb90ceecbb709c8502622eaad39062.zip
Merge branch 'next'
* next: (34 commits) (#6820) Fix File class lookup in the file type for Ruby 1.9 (#6820) Fix nagios parser to use proper hash syntax for Ruby 1.9 (#6820) Fix Invalid multibyte character (#6820) Fix RDOC parser to work with Ruby 1.9 (#6820) Fix invalid next that should be a return (#2782) Fix constant_defined? (#6527) Fix pip tests (#6527) Fix uninstall problem and refactor (#6527) Added pip package provider. maint: Change code for finding spec_helper to work with Ruby 1.9 Fix error "invalid multibyte char (US-ASCII)" under Ruby 1.9 Fixed #6562 - Minor kick documentation fix (#6566) Replace tabs with spaces (#6566) Fix ruby 1.9 incompatible case statement Fixed #6566 Replace ftools with filetuils in rake gem task (#6555) Fix another ruby 1.9 incompatible case statement Fixed #6555 - Fixed two more when then colon issues Fixed #6555 - Ruby 1.9.x returning Invalid next (SyntaxError) Fixed #6555 - Ruby 1.9.x warning: class variable access from toplevel (#6658) Propagate ENC connection errors to the agent ...
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__"