diff --git a/lib/aviator/string.rb b/lib/aviator/string.rb index 7efa2e1..25d24b6 100644 --- a/lib/aviator/string.rb +++ b/lib/aviator/string.rb @@ -1,18 +1,24 @@ class String - def camelize - word = self.slice(0,1).capitalize + self.slice(1..-1) - word.gsub(/_([a-zA-Z\d])/) { "#{$1.capitalize}" } - end - - def constantize - self.split("::").inject(Object) do |namespace, sym| - namespace.const_get(sym.to_s.camelize, false) + 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 - def underscore - self.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase + 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