module Singu::Extensions::String

Public Instance Methods

camel_case() click to toggle source
# File lib/singu/extensions.rb, line 4
def camel_case
  return self.gsub(/^./) { |l| l.capitalize } if !match(/[_-]/)
  altered_self = self.downcase.capitalize
  altered_self.scan(/[_-][a-zA-Z]/).each do |match|
    altered_self.gsub!(match, match[1].upcase)
  end

  altered_self
end
camel_case!() click to toggle source
# File lib/singu/extensions.rb, line 14
def camel_case!
  self.replace camel_case
end
directory_name() click to toggle source
# File lib/singu/extensions.rb, line 18
def directory_name
  self.downcase.gsub(/[^a-z|\-|\_]/, '')
end
file_name() click to toggle source
# File lib/singu/extensions.rb, line 22
def file_name
  self.gsub(/[\-| ]/, '_').
       gsub(/([A-Z]+|[A-Z][a-z])/) { |x| "_#{x}" }.
       sub(/^_/, "").
       gsub(/_{2,}+/, "_").
       downcase
end
file_name!() click to toggle source
# File lib/singu/extensions.rb, line 30
def file_name!
  self.replace file_name
end