module SnakeCamel::Methods

Public Instance Methods

camelcase(string) click to toggle source
# File lib/snake_camel/methods.rb, line 13
def camelcase(string)
  string.to_s.split('_').map(&:capitalize).join
end
camelcase!(string) click to toggle source
# File lib/snake_camel/methods.rb, line 17
def camelcase!(string)
  string.replace(camelcase(string))
end
constant_name(string) click to toggle source
# File lib/snake_camel/methods.rb, line 21
def constant_name(string)
  string.split(File::Separator).map { |part| camelcase(part) }.join('::')
end
path_name(camelcase_string) click to toggle source
# File lib/snake_camel/methods.rb, line 25
def path_name(camelcase_string)
  return snakecase(camelcase_string).insert(0, File::Separator) unless camelcase_string.match(/::/)
  camelcase_string.split("::").map { |part| snakecase(part) }.join(File::Separator)
end
snakecase(string) click to toggle source
# File lib/snake_camel/methods.rb, line 9
def snakecase(string)
  snakecase!(string.dup)
end
snakecase!(string) click to toggle source
# File lib/snake_camel/methods.rb, line 5
def snakecase!(string)
  string.replace(string.to_s.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase)
end