Sha256: 4fda7367a23cf65ff6fdbde04f5ab18c3fe3fb0f4569b6a46d6bdd9e07a4bf0d
Contents?: true
Size: 1019 Bytes
Versions: 4
Compression:
Stored size: 1019 Bytes
Contents
class String Alpha26 = ("a".."z").to_a def to_i26 result = 0 downcase! (1..length).each do |i| char = self[-i] result += 26**(i-1) * (Alpha26.index(char) + 1) end result end def clean_whitespace return strip.gsub(/\s{2,}/, ' ') end def unindent gsub(/^#{self[/\A\s*/]}/, '') end # Convert string to boolean. def to_bool return true if self[/\A(true)|(1)|(y(es)?)\z/i] return false if self[/\A(false)|(0)|(no?)|(nil)\z/i] || self == "" raise(ArgumentError.new "could not interpret '#{self}' as boolean.") end # convert an URI query string into a symbol hash, does not support array query records (yet) def to_query_hash raise ArgumentError.new("Looks like unsupported array query is used, sorry!") if self.to_s[/\[\]\=/].present? query_hash = split("&").reduce({}) do |mem, i| key = i.split("=").first value = i.split("=").second mem[key.to_s] = value.to_s mem end return query_hash end end
Version data entries
4 entries across 4 versions & 1 rubygems