X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Faviator%2Fcore%2Futils%2Fstring.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Faviator%2Fcore%2Futils%2Fstring.rb;h=25d24b66ed3b5a5b43616f5db3705abff7da015b;hp=0000000000000000000000000000000000000000;hb=b7626cbcbb2fb8e7ce3dc5ac60e80a981175f9d3;hpb=8132e6bb1199463f5e334326659c974d4772b3e3 diff --git a/3rdparty/modules/aviator/lib/puppet/feature/aviator/core/utils/string.rb b/3rdparty/modules/aviator/lib/puppet/feature/aviator/core/utils/string.rb new file mode 100644 index 00000000..25d24b66 --- /dev/null +++ b/3rdparty/modules/aviator/lib/puppet/feature/aviator/core/utils/string.rb @@ -0,0 +1,24 @@ +class String + + unless instance_methods.include? 'camelize' + define_method :camelize do + word = self.slice(0,1).capitalize + self.slice(1..-1) + word.gsub(/_([a-zA-Z\d])/) { "#{$1.capitalize}" } + end + end + + unless instance_methods.include? 'constantize' + define_method :constantize do + self.split("::").inject(Object) do |namespace, sym| + namespace.const_get(sym.to_s.camelize, false) + end + end + end + + unless instance_methods.include? 'underscore' + define_method :underscore do + self.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase + end + end + +end