Sha256: 27a50dbda38f9a5645d8661a1ebb2a5540fb2f8fd6c96055dd03d17d6c1cd5cd

Contents?: true

Size: 721 Bytes

Versions: 1

Compression:

Stored size: 721 Bytes

Contents

require "pwm/version"

module Pwm

  # Internal: The set of characters from which passwords will be assembled.
  # This could be overridden if you don't like the default.
  #
  # Returns the set of characters as an Array.
  def self.characters
    (('A'..'Z').to_a  + ('a'..'z').to_a +
     ('2'..'9').to_a) - ['I', 'O', 'l']
  end

  # Public: Generate a password.
  #
  # length - The length of the password.
  #
  # Examples
  #
  #   Pwm.password
  #   # => 'SPdHeZnn9rut4AUz'
  #
  #   Pwm.password(8)
  #   # => 'oUX4fmqr'
  #
  # Returns the generated password as a String.
  def self.password(length = 16)
    (0..length - 1).inject('') do |pw, n|
      pw + characters[rand(characters.length)]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pwm-1.0.3 lib/pwm.rb