Module: PasswordGenerator
- Defined in:
- lib/passwordGenerator.rb,
lib/passwordGenerator/version.rb
Constant Summary collapse
- VERSION =
"1.0.2"
Class Method Summary collapse
-
.generate(length = 10, options = {}) ⇒ Object
:skip_lower_case
: Skip lower case when true:skip_upper_case
: Skip upper case when true:skip_numbers
: Skip numbers when true:skip_symbols
: Skip symbols when true:skip_url_unsafe
: Skip characters used in URLs when true:include_unfrieldly_chars
: Include visually mistakable characters when true.
Class Method Details
.generate(length = 10, options = {}) ⇒ Object
:skip_lower_case
: Skip lower case when true :skip_upper_case
: Skip upper case when true :skip_numbers
: Skip numbers when true :skip_symbols
: Skip symbols when true :skip_url_unsafe
: Skip characters used in URLs when true :include_unfrieldly_chars
: Include visually mistakable characters when true
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/passwordGenerator.rb', line 19 def self.generate(length = 10, = {}) chars = [] chars += ("a".."z").to_a unless [:skip_lower_case] chars += ("A".."Z").to_a unless [:skip_upper_case] chars += ("0".."9").to_a unless [:skip_numbers] chars += %w(! @ # $ % ^ & \( \) { } [ ] - _ < > ?) unless [:skip_symbols] # Skip characters used in URLs chars -= %w($ & + , / : \; = ? @ < > # % { } | ^ ~ [ ] `) if [:skip_url_unsafe] # Skip visually mistakable characters chars -= %w(i I o O 0 1 l !) unless [:include_unfrieldly_chars] (1..length).collect{chars[rand(chars.size)]}.join end |