Class: String

Inherits:
Object show all
Defined in:
lib/small/string.rb

Instance Method Summary collapse

Instance Method Details

#camelizeObject



3
4
5
# File 'lib/small/string.rb', line 3

def camelize
  gsub(/\s+/, '_').gsub(/(?:^|_)(.)/) { $1.upcase }
end

#constantizeObject



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

#dashizeObject



7
8
9
# File 'lib/small/string.rb', line 7

def dashize
  gsub(/_/, '-')
end

#decode64Object



32
33
34
# File 'lib/small/string.rb', line 32

def decode64
  unpack("m").first
end

#encode64Object



28
29
30
# File 'lib/small/string.rb', line 28

def encode64
  [self.to_s].pack("m").gsub(/\n/,'')
end

#escapeObject



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_escapeObject



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

#humanizeObject



11
12
13
# File 'lib/small/string.rb', line 11

def humanize
  gsub(/_/, ' ').gsub(/^(\w)/) { $1.upcase }
end

#to_md5Object



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_sha1Object



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

#underscoreObject



15
16
17
# File 'lib/small/string.rb', line 15

def underscore
  gsub(/(-|\s+)/,'_').downcase
end

#unescapeObject



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_encodeObject



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