class String
Public Instance Methods
camelize(first_letter_in_uppercase = true)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 4 def camelize(first_letter_in_uppercase = true) if first_letter_in_uppercase != :lower to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase } else to_s[0].chr.downcase + camelize(self)[1..-1] end end
camelize!(first_letter_in_uppercase = true)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 14 def camelize!(first_letter_in_uppercase = true) replace(camelize(first_letter_in_uppercase)) end
domain(options={})
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 79 def domain(options={}) url = dup url =~ (/^(?:\w+:\/\/)?([^\/?]+)(?:\/|\?|$)/) ? $1 : url end
downcase?()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 84 def downcase? downcase == self end
ellipsize(options={})
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 88 def ellipsize(options={}) length = options[:length] || 30 separator = options[:separator] || '...' return self if size <= length offset = options[:offset] || 4 self[0,offset] + separator + self[-offset,offset] end
ends_with?(suffix)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 20 def ends_with?(suffix) suffix = suffix.to_s self[-suffix.length, suffix.length] == suffix end
gnix(string)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 96 def gnix(string) gsub(string, "") end
gnix!(string)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 100 def gnix!(string) gsub!(string, "") end
humanize(options = {})
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 27 def humanize(options = {}) underscore. gsub(/_id$/, ""). tr('_', ' '). gsub(/([a-z\d]*)/i) { |match| match.downcase }. gsub(/^\w/) { |match| match.upcase } if options.fetch(:capitalize, true) end
humanize!(options = {})
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 37 def humanize!(options = {}) replace(humanize) end
mixedcase?()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 104 def mixedcase? !upcase? && !downcase? end
nix(string)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 108 def nix(string) sub(string, "") end
nix!(string)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 112 def nix!(string) sub!(string, "") end
pollute(delimiter="^--^--^")
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 116 def pollute(delimiter="^--^--^") split('').map{ |letter| "#{letter}#{delimiter}" }.join end
slugify()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 120 def slugify gsub(/[^\x00-\x7F]+/, ''). # Remove anything non-ASCII entirely (e.g. diacritics). gsub(/[^\w_ \-]+/i, ''). # Remove unwanted chars. gsub(/[ \-]+/i, '-'). # No more than one of the separator in a row. gsub(/^\-|\-$/i, ''). # Remove leading/trailing separator. downcase end
slugify!()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 128 def slugify! replace(slugify) end
squish()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 132 def squish strip.gsub(/\s+/, ' ') end
squish!()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 136 def squish! replace(squish) end
starts_with?(prefix)
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 57 def starts_with?(prefix) prefix = prefix.to_s self[0, prefix.length] == prefix end
strip_whitespace()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 148 def strip_whitespace gnix("\t").split(" ").remove_blanks.join(" ") end
strip_whitespace!()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 152 def strip_whitespace! replace(strip_whitespace) end
titleize()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 43 def titleize underscore. humanize. gsub(/\b(?<!['’`])[a-z]/) { $&.capitalize } end
titleize!()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 51 def titleize! replace(titleize) end
truncate_preserving_words(options={})
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 156 def truncate_preserving_words(options={}) separator = options[:separator] || '...' max_words = options[:max_words] || nil if max_words words = split return self if words.size < max_words words = words[0..(max_words-1)] words << separator words.join(" ") else max_chars = options[:max_chars] || 30 return self if size < max_chars out = self[0..(max_chars-1)].split(" ") out.pop out << separator out.join(" ") end end
underscore()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 64 def underscore gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end
underscore!()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 74 def underscore! replace(underscore) end
unpollute(delimiter="^--^--^")
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 175 def unpollute(delimiter="^--^--^") gsub(delimiter, "") end
upcase?()
click to toggle source
# File lib/flash_extensions/extensions/string_extension.rb, line 179 def upcase? upcase == self end