Sha256: f8f404482f359980e426ffe11df842129f73f1052abb38026d558201b12d024e
Contents?: true
Size: 1019 Bytes
Versions: 3
Compression:
Stored size: 1019 Bytes
Contents
class String def classify gsub(/\s/, "_").camelize end def underscore gsub("::", "/") .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr("-", "_") .downcase end def camelize(uppercase_first_letter = true) string = dup # String#camelize takes a symbol (:upper or :lower), so here we also support :lower to keep the methods consistent. if !uppercase_first_letter || uppercase_first_letter == :lower string = string.sub(/^(?:(?=a)b(?=\b|[A-Z_])|\w)/) { |match| match.downcase! || match } elsif string.match?(/\A[a-z\d]*\z/) return string.capitalize else string = string.sub(/^[a-z\d]*/) { |match| match.capitalize || match } end string.gsub!(/(?:_|(\/))([a-z\d]*)/i) do word = $2 substituted = word.capitalize! || word ($1) ? "_#{substituted}" : substituted end string.gsub!(/[^a-zA-Z0-9]/, "") string end def strip_heredoc gsub(/^#{self[/\A\s*/]}/, "") end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jmeter_perf-0.0.7 | lib/jmeter_perf/helpers/string.rb |
jmeter_perf-0.0.6 | lib/jmeter_perf/helpers/string.rb |
jmeter_perf-0.0.2 | lib/jmeter_perf/helpers/string.rb |