Here's a patch to make puppet do integer comparison instead of string comparison if both strings are valid integers:
--- OLD/site_ruby/1.8/puppet/provider/augeas/augeas.rb 2013-09-19 14:09:52.000000000 -0400 +++ NEW/site_ruby/1.8/puppet/provider/augeas/augeas.rb 2013-09-19 16:23:48.000000000 -0400 @@ -164,6 +164,10 @@ end end + def is_numeric?(s) + s.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true + end + # Used by the need_to_run? method to process get filters. Returns # true if there is a match, false if otherwise # Assumes a syntax of get /files/path [COMPARATOR] value @@ -179,10 +183,14 @@ #check the value in augeas result = @aug.get(path) || '' - case comparator - when "!=" + + if comparator == "<" and is_numeric?(result) and is_numeric?(arg) + return_value = result.to_s.to_f < arg.to_s.to_f + elsif comparator == ">" and is_numeric?(result) and is_numeric?(arg) + return_value = result.to_s.to_f > arg.to_s.to_f + elsif comparator == "!=" return_value = (result != arg) - when "=~" + elsif comparator == "=~" regex = Regexp.new(arg) return_value = (result =~ regex) else -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.