password_util 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 585b4336af1d3cc4191a8f5ae5e5fa9f820dcc28aaaa6e4c4d90215436825c51
4
- data.tar.gz: c553b39e03316a0882d05daac8463b8c75779ab2ef2dc99a4bc27d84cf8cb33f
3
+ metadata.gz: 4af24e1ec068268a89fcafaf6a05f968ac9f1128bbb8cbf805c13c76344bdd4a
4
+ data.tar.gz: 8f8056f8479dde813d25628a799400c6a0b1cbc17ac436529b176159c6f7675b
5
5
  SHA512:
6
- metadata.gz: 3cd8c25a9a87be821e22fd6eaf68ba8742531c44a955f4ad69c3036da41359f1f6e91afc987ca4b9d2d8b290047962a9e695232689f8d1a30268622c55ed54fe
7
- data.tar.gz: d8fa4ca0218c83b99d321328f9b35e08c1c89330c32f39163a7d735e30f3ace975ac01ca18000f7bc474456356950b9b3e0a46522495bcb1a4a9c3c7eb22d0c4
6
+ metadata.gz: 895f0bdd59d36c6b4b7aabc5790bda344bde777074ca12eeea46cf4e4d14ddb5c43ef4226b1e9c01047283dbd19a46fe420560cd017f777e056bfdd7d4210710
7
+ data.tar.gz: 2af852bfde063c96556a7f818500b5ee6ca01ed972d91dfdcf8eed4b033dae5fb07b348d0138d58e133063d28d02d852ff7eadff170afcd80ccde41cb0b6fc7a
data/bin/password_util ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'password_util'
4
+
5
+ password_length = ENV['LENGTH']
6
+ has_upper_letters = ENV['UPPER_LETTERS']
7
+ has_lower_letters = ENV['LOWER_LETTERS']
8
+ has_numbers = ENV['NUMBERS']
9
+ has_symbols = ENV['SYMBOLS']
10
+
11
+ PasswordUtil.password_length = password_length.to_i if password_length.to_s =~ /\A\d+\z/
12
+ PasswordUtil.has_upper_letters = has_upper_letters == 1 if has_upper_letters.to_s =~ /\A(?:0|1)\z/
13
+ PasswordUtil.has_lower_letters = has_lower_letters == 1 if has_lower_letters.to_s =~ /\A(?:0|1)\z/
14
+ PasswordUtil.has_numbers = has_numbers == 1 if has_numbers.to_s =~ /\A(?:0|1)\z/
15
+ PasswordUtil.has_symbols = has_symbols == 1 if has_symbols.to_s =~ /\A(?:0|1)\z/
16
+
17
+ puts PasswordUtil.generate
data/lib/password_util.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  module PasswordUtil
2
+ ##
3
+ # Configuration exception.
2
4
  class ConfigurationError < StandardError; end
3
5
 
4
6
  UPPER_LETTERS = ('A'..'Z').to_a.freeze
@@ -6,6 +8,10 @@ module PasswordUtil
6
8
  NUMBERS = ('0'..'9').to_a.freeze
7
9
  SYMBOLS = %w[~ ` ! @ # $ % ^ & * ( ) _ - + = { \[ } \] | \\ : ; " ' < , > . ? /].freeze
8
10
 
11
+ ##
12
+ # Validates configuration.
13
+ #
14
+ # @return [String] the generated password
9
15
  def self.validate_config!
10
16
  boolean_classes = [TrueClass, FalseClass]
11
17
 
@@ -22,6 +28,8 @@ module PasswordUtil
22
28
  raise ConfigurationError, 'No usable character set.' unless has_lower_letters || has_upper_letters || has_numbers || has_symbols
23
29
  end
24
30
 
31
+ ##
32
+ # Resets configuration to default.
25
33
  def self.reset_config
26
34
  self.password_length = 8
27
35
  self.has_lower_letters = true
@@ -34,6 +42,10 @@ module PasswordUtil
34
42
  self.min_symbols = 1
35
43
  end
36
44
 
45
+ ##
46
+ # Generates password.
47
+ #
48
+ # @return [String] the generated password
37
49
  def self.generate
38
50
  validate_config!
39
51
  charset = []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: password_util
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reinier John Avila
@@ -10,12 +10,14 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2022-11-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Different password related utility tool.
13
+ description: Utility tool to generate password.
14
14
  email: reinieravila@gmail.com
15
- executables: []
15
+ executables:
16
+ - password_util
16
17
  extensions: []
17
18
  extra_rdoc_files: []
18
19
  files:
20
+ - bin/password_util
19
21
  - lib/password_util.rb
20
22
  homepage: https://github.com/reinieravila/password_util.git
21
23
  licenses:
@@ -39,5 +41,5 @@ requirements: []
39
41
  rubygems_version: 3.3.7
40
42
  signing_key:
41
43
  specification_version: 4
42
- summary: Password Utility Tool
44
+ summary: Password Generation Utility Tool
43
45
  test_files: []