meducation/larva

View on GitHub
lib/larva/utils.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Object
  def blank?
    respond_to?(:empty?) ? !!empty? : !self
  end
end

class String
  def camelize(first_letter = :upper)
    case first_letter
    when :upper
      Larva::Utils.camelize(self, true)
    when :lower
      Larva::Utils.camelize(self, false)
    end
  end
end

module Larva
  module Utils
    def self.camelize(term, uppercase_first_letter = true)
      string = term.to_s
      string = string.sub(/^[a-z\d]*/) { $&.capitalize }
      string.gsub!(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }
      string.gsub!('/', '::')
      string
    end
  end
end