Class: String
Instance Method Summary collapse
- #camelize ⇒ Object
- #constantize ⇒ Object
- #dashize ⇒ Object
- #decode64 ⇒ Object
- #encode64 ⇒ Object
- #escape ⇒ Object
- #html_escape ⇒ Object
- #humanize ⇒ Object
- #to_md5 ⇒ Object
- #to_sha1 ⇒ Object
- #to_sha2(provider = 256) ⇒ Object
- #underscore ⇒ Object
- #unescape ⇒ Object
- #url_encode ⇒ Object
Instance Method Details
#camelize ⇒ Object
3 4 5 |
# File 'lib/small/string.rb', line 3 def camelize gsub(/\s+/, '_').gsub(/(?:^|_)(.)/) { $1.upcase } end |
#constantize ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/small/string.rb', line 19 def constantize constant = Object if constant.const_defined?(self.to_s) constant.const_get(self.to_s) else constant.const_missing(self.to_s) end end |
#dashize ⇒ Object
7 8 9 |
# File 'lib/small/string.rb', line 7 def dashize gsub(/_/, '-') end |
#decode64 ⇒ Object
32 33 34 |
# File 'lib/small/string.rb', line 32 def decode64 unpack("m").first end |
#encode64 ⇒ Object
28 29 30 |
# File 'lib/small/string.rb', line 28 def encode64 [self.to_s].pack("m").gsub(/\n/,'') end |
#escape ⇒ Object
57 58 59 60 |
# File 'lib/small/string.rb', line 57 def escape require 'cgi' unless defined?(CGI) CGI.escape(self.to_s) end |
#html_escape ⇒ Object
67 68 69 70 |
# File 'lib/small/string.rb', line 67 def html_escape require 'erb' unless defined?(ERB::Util) ERB::Util.html_escape(self.to_s) end |
#humanize ⇒ Object
11 12 13 |
# File 'lib/small/string.rb', line 11 def humanize gsub(/_/, ' ').gsub(/^(\w)/) { $1.upcase } end |
#to_md5 ⇒ Object
52 53 54 55 |
# File 'lib/small/string.rb', line 52 def to_md5 require 'digest/md5' unless defined?(Digest::MD5) Digest::MD5.hexdigest(self.to_s) end |
#to_sha1 ⇒ Object
36 37 38 39 |
# File 'lib/small/string.rb', line 36 def to_sha1 require "digest/sha1" unless defined?(Digest::SHA1) Digest::SHA1.hexdigest(self.to_s) end |
#to_sha2(provider = 256) ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/small/string.rb', line 41 def to_sha2(provider = 256) require 'digest/sha2' unless defined?(Digest::SHA256) object = case provider when 256 then Digest::SHA256.new when 384 then Digest::SHA384.new when 512 then Digest::SHA512.new else raise Exception, "Unknown provider: #{provider}" end object.hexdigest(self.to_s) end |
#underscore ⇒ Object
15 16 17 |
# File 'lib/small/string.rb', line 15 def underscore gsub(/(-|\s+)/,'_').downcase end |
#unescape ⇒ Object
62 63 64 65 |
# File 'lib/small/string.rb', line 62 def unescape require 'cgi' unless defined?(CGI) CGI.unescape(self.to_s) end |
#url_encode ⇒ Object
72 73 74 75 |
# File 'lib/small/string.rb', line 72 def url_encode require 'erb' unless defined?(ERB::Util) ERB::Util.url_encode(self.to_s) end |