random_password_generator 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of random_password_generator might be problematic. Click here for more details.

@@ -8,14 +8,17 @@ module RandomPasswordGenerator
8
8
  # +:skip_numbers+: Skips numbers if set to true
9
9
  # +:skip_symbols+: Skips symbols if set to true
10
10
  # +:dont_exclude_unfrieldly_chars+: Does not skip commonly mistaken characters if set to true
11
+ # +:skip_url_safe+: Skips URL reserved and unfriendly characters if set to true
11
12
  def self.generate(length = 8, options = {})
12
13
  chars = []
13
14
  chars += ("a".."z").to_a unless options[:skip_lower_case]
14
15
  chars += ("A".."Z").to_a unless options[:skip_upper_case]
15
16
  chars += ("0".."9").to_a unless options[:skip_numbers]
16
- chars += ["!", "@", "#", "$", "%", "^", "&", "(", ")", "{", "}", "[", "]", "-", "_", "<", ">", "?"] unless options[:skip_symbols]
17
+ chars += %w(! @ # $ % ^ & \( \) { } [ ] - _ < > ?) unless options[:skip_symbols]
17
18
  # Skip easily mistaken characters
18
- chars -= %w(i o 0 1 l !) unless options[:dont_exclude_unfrieldly_chars]
19
+ chars -= %w(i I o O 0 1 l !) unless options[:dont_exclude_unfrieldly_chars]
20
+ # Skip characters that are unsafe for urls
21
+ chars -= %w($ & + , / : ; = ? @ < > # % { } | \ ^ ~ [ ] `) if options[:skip_url_safe]
19
22
 
20
23
  (1..length).collect{chars[rand(chars.size)]}.join
21
24
  end
@@ -1,3 +1,3 @@
1
1
  module RandomPasswordGenerator
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: random_password_generator
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Satyaram B V