Class: PasswordUtil::Config
- Inherits:
-
Object
- Object
- PasswordUtil::Config
- Defined in:
- lib/password_util/config.rb
Defined Under Namespace
Classes: ConfigurationError
Instance Attribute Summary collapse
-
#has_lower_letters ⇒ Object
Returns the value of attribute has_lower_letters.
-
#has_numbers ⇒ Object
Returns the value of attribute has_numbers.
-
#has_symbols ⇒ Object
Returns the value of attribute has_symbols.
-
#has_upper_letters ⇒ Object
Returns the value of attribute has_upper_letters.
-
#lower_letters ⇒ Object
Returns the value of attribute lower_letters.
-
#min_lower_letters ⇒ Object
Returns the value of attribute min_lower_letters.
-
#min_numbers ⇒ Object
Returns the value of attribute min_numbers.
-
#min_symbols ⇒ Object
Returns the value of attribute min_symbols.
-
#min_upper_letters ⇒ Object
Returns the value of attribute min_upper_letters.
-
#numbers ⇒ Object
Returns the value of attribute numbers.
-
#password_length ⇒ Object
Returns the value of attribute password_length.
-
#symbols ⇒ Object
Returns the value of attribute symbols.
-
#upper_letters ⇒ Object
Returns the value of attribute upper_letters.
Instance Method Summary collapse
-
#initialize(params) ⇒ Config
constructor
A new instance of Config.
- #validate! ⇒ Object
Constructor Details
#initialize(params) ⇒ Config
Returns a new instance of Config.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/password_util/config.rb', line 19 def initialize(params) @upper_letters = params.fetch(:upper_letters, CharacterSets::UPPER_LETTERS) @lower_letters = params.fetch(:lower_letters, CharacterSets::LOWER_LETTERS) @numbers = params.fetch(:numbers, CharacterSets::NUMBERS) @symbols = params.fetch(:symbols, CharacterSets::SYMBOLS) @password_length = params.fetch(:password_length, DEFAULT_PASSWORD_LENGTH) @has_lower_letters = params.fetch(:has_lower_letters, DEFAULT_HAS_LOWER_LETTERS) @min_lower_letters = params.fetch(:min_lower_letters, DEFAULT_MIN_LOWER_LETTERS) @has_upper_letters = params.fetch(:has_upper_letters, DEFAULT_HAS_UPPER_LETTERS) @min_upper_letters = params.fetch(:min_upper_letters, DEFAULT_MIN_UPPER_LETTERS) @has_numbers = params.fetch(:has_numbers, DEFAULT_HAS_NUMBERS) @min_numbers = params.fetch(:min_numbers, DEFAULT_MIN_NUMBERS) @has_symbols = params.fetch(:has_symbols, DEFAULT_HAS_SYMBOLS) @min_symbols = params.fetch(:min_symbols, DEFAULT_MIN_SYMBOLS) end |
Instance Attribute Details
#has_lower_letters ⇒ Object
Returns the value of attribute has_lower_letters.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def has_lower_letters @has_lower_letters end |
#has_numbers ⇒ Object
Returns the value of attribute has_numbers.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def has_numbers @has_numbers end |
#has_symbols ⇒ Object
Returns the value of attribute has_symbols.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def has_symbols @has_symbols end |
#has_upper_letters ⇒ Object
Returns the value of attribute has_upper_letters.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def has_upper_letters @has_upper_letters end |
#lower_letters ⇒ Object
Returns the value of attribute lower_letters.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def lower_letters @lower_letters end |
#min_lower_letters ⇒ Object
Returns the value of attribute min_lower_letters.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def min_lower_letters @min_lower_letters end |
#min_numbers ⇒ Object
Returns the value of attribute min_numbers.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def min_numbers @min_numbers end |
#min_symbols ⇒ Object
Returns the value of attribute min_symbols.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def min_symbols @min_symbols end |
#min_upper_letters ⇒ Object
Returns the value of attribute min_upper_letters.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def min_upper_letters @min_upper_letters end |
#numbers ⇒ Object
Returns the value of attribute numbers.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def numbers @numbers end |
#password_length ⇒ Object
Returns the value of attribute password_length.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def password_length @password_length end |
#symbols ⇒ Object
Returns the value of attribute symbols.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def symbols @symbols end |
#upper_letters ⇒ Object
Returns the value of attribute upper_letters.
17 18 19 |
# File 'lib/password_util/config.rb', line 17 def upper_letters @upper_letters end |
Instance Method Details
#validate! ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/password_util/config.rb', line 40 def validate! boolean_classes = [TrueClass, FalseClass] raise ConfigurationError, 'password_length: expected Integer' unless password_length.is_a?(Integer) raise ConfigurationError, 'has_lower_letters: expected Boolean' unless boolean_classes.include?(has_lower_letters.class) raise ConfigurationError, 'min_lower_letters: expected Integer' unless min_lower_letters.is_a?(Integer) raise ConfigurationError, 'has_upper_letters: expected Boolean' unless boolean_classes.include?(has_upper_letters.class) raise ConfigurationError, 'min_upper_letters: expected Integer' unless min_upper_letters.is_a?(Integer) raise ConfigurationError, 'has_numbers: expected Boolean' unless boolean_classes.include?(has_numbers.class) raise ConfigurationError, 'min_numbers: expected Integer' unless min_numbers.is_a?(Integer) raise ConfigurationError, 'has_symbols: expected Boolean' unless boolean_classes.include?(has_symbols.class) raise ConfigurationError, 'min_symbols: expected Integer' unless min_symbols.is_a?(Integer) raise ConfigurationError, 'No usable character set.' unless has_lower_letters || has_upper_letters || has_numbers || has_symbols end |