lib/stove/util.rb
module Stove
module Util
extend self
# Convert a version string (x.y.z) to a community-site friendly format
# (x_y_z).
#
# @example Convert a version to a version string
# format_version('1.2.3') #=> 1_2_3
#
# @param [#to_s] version
# the version string to convert
#
# @return [String]
def version_for_url(version)
version
.to_s
.gsub('.', '_')
end
#
# Covert the given CaMelCaSeD string to under_score. Graciously borrowed
# from http://stackoverflow.com/questions/1509915.
#
# @param [String] string
# the string to use for transformation
#
# @return [String]
#
def underscore(string)
string
.to_s
.gsub(/::/, '/')
.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
.gsub(/([a-z\d])([A-Z])/,'\1_\2')
.tr('-', '_')
.downcase
end
#
# Convert an underscored string to it's camelcase equivalent constant.
#
# @param [String]
# the string to convert
#
# @return [String]
#
def camelize(string)
string
.to_s
.split('_')
.map { |e| e.capitalize }
.join
end
end
end