Sha256: a7cfb62bd4eba2f69187df3dff9289951eea71b21cc9b74acda68702589702d1

Contents?: true

Size: 1.63 KB

Versions: 1

Compression:

Stored size: 1.63 KB

Contents

class String

  # Justity relative left or right position filled with a espefific char in String.
  #
  # sample:
  #
  #  "TESTE".fix(10,'xy') # => xxxxxTESTE
  #  "TESTE".fix(-10,'xy') # => TESTExxxxx
  #
  # @param    size to justify.
  # @param    pattern pattern do justify
  # @return   formated string
  def fix(size, pattern=' ')
    if size >= 0
      self[0...size].rjust(size, pattern)
    else
      diff = size.abs - self.size
      self + ''.fix(diff,pattern)
    end
  end

  # Encrypt a string using a key.
  # sample
  # msg       = "teste do encrypt".light_blue
  # passwd    = 'tools999'
  # encrypted = msg.encrypt passwd
  # puts (encrypted.decrypt passwd)
  # @return   encrypt string
  def encrypt(key)
    Encrypt.dump self, key
  end

  # Decrypt a string using a key.
  # sample
  # msg       = "teste do encrypt".light_blue
  # passwd    = 'tools999'
  # encrypted = msg.encrypt passwd
  # puts (encrypted.decrypt passwd)
  # @return   decrypt string
  def decrypt(key)
    Encrypt.load self, key
  end

  # Self test numeric String class.
  #
  # @return   boolean
  def numeric?
    Float(self) != nil rescue false
  end

  # Self test digits String class.
  #
  # @return   boolean
  def num?
    !!match(/^[[:digit:]]+$/)
  end

  # Self test alphanum String class.
  #
  # @return   boolean
  def alnum?
    !!match(/^[[:alnum:]]+$/)
  end

  # Self test alpha String class.
  #
  # @return   boolean
  def alpha?
    !!match(/^[[:alpha:]]+$/)
  end

  def help?
    if self.eql? '?'      or
       self.eql? '-h'     or
       self.eql? '--help' or
       self.eql? 'help'
       return true
    else
      return false
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tools-0.4.5 lib/lib/string.rb