Sha256: 4b40210733e5ba21bdb0c04fdc2b9a66115cb56cc2beb8ae73cc1ba4aaa53b8b
Contents?: true
Size: 1.19 KB
Versions: 19
Compression:
Stored size: 1.19 KB
Contents
require 'volt/extra_core/inflector' class String # TODO: replace with better implementations # NOTE: strings are currently immutable in Opal, so no ! methods # Turns a string into the camel case version. If it is already camel case, it should # return the same string. def camelize(first_letter = :upper) new_str = gsub(/_[a-z]/) { |a| a[1].upcase } new_str = new_str[0].capitalize + new_str[1..-1] if first_letter == :upper new_str end # Returns the underscore version of a string. If it is already underscore, it should # return the same string. def underscore gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase end def dasherize gsub('_', '-') end def pluralize Volt::Inflector.pluralize(self) end def singularize Volt::Inflector.singularize(self) end def titleize gsub('_', ' ').split(' ').map(&:capitalize).join(' ') end def headerize split(/[_-]/) .map { |new_str| new_str[0].capitalize + new_str[1..-1] } .join('-') end def plural? # TODO: Temp implementation pluralize == self end def singular? # TODO: Temp implementation singularize == self end end
Version data entries
19 entries across 19 versions & 1 rubygems