Class: Foobara::Auth::BuildSecret
- Defined in:
- foobara-auth-0.0.9/src/build_secret.rb
Constant Summary
Constants included from TruncatedInspect
Instance Attribute Summary collapse
-
#hashed_secret ⇒ Object
Returns the value of attribute hashed_secret.
-
#secret_model ⇒ Object
Returns the value of attribute secret_model.
Attributes included from CommandPatternImplementation::Concerns::Subcommands
Attributes included from CommandPatternImplementation::Concerns::Runtime
Attributes included from CommandPatternImplementation::Concerns::Errors
Attributes included from CommandPatternImplementation::Concerns::Inputs
Instance Method Summary collapse
- #argon_params ⇒ Object
- #build_secret ⇒ Object
- #execute ⇒ Object
- #generate_hashed_secret ⇒ Object
- #other_params ⇒ Object
Methods inherited from Command
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Methods included from CommandPatternImplementation::Concerns::Reflection
Methods included from CommandPatternImplementation::Concerns::DomainMappers
#domain_map, #domain_map!, #run_mapped_subcommand!
Methods included from CommandPatternImplementation::Concerns::Subcommands
#run_subcommand!, #subcommand?
Methods included from CommandPatternImplementation::Concerns::Entities
Methods included from CommandPatternImplementation::Concerns::Transactions
#auto_detect_current_transactions, #commit_transaction, #open_transaction, #opened_transactions, #relevant_entity_classes, #rollback_transaction, #transactions
Methods included from CommandPatternImplementation::Concerns::StateMachine
Methods included from CommandPatternImplementation::Concerns::Runtime
#halt!, #run, #run!, #run_execute, #succeed, #success?, #validate, #validate_records
Methods included from CommandPatternImplementation::Concerns::Errors
Methods included from CommandPatternImplementation::Concerns::Inputs
#cast_and_validate_inputs, #initialize, #method_missing, #respond_to_missing?, #respond_to_missing_for_inputs?
Methods included from TruncatedInspect
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Foobara::CommandPatternImplementation::Concerns::Inputs
Instance Attribute Details
#hashed_secret ⇒ Object
Returns the value of attribute hashed_secret.
18 19 20 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 18 def hashed_secret @hashed_secret end |
#secret_model ⇒ Object
Returns the value of attribute secret_model.
18 19 20 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 18 def secret_model @secret_model end |
Instance Method Details
#argon_params ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 32 def argon_params { t_cost: 2, m_cost: 16, parallelism: 1, type: :argon2id } end |
#build_secret ⇒ Object
24 25 26 27 28 29 30 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 24 def build_secret self.secret_model = Types::Secret.new( hashed_secret:, parameters: argon_params.merge(other_params), created_at: Time.now ) end |
#execute ⇒ Object
11 12 13 14 15 16 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 11 def execute generate_hashed_secret build_secret secret_model end |
#generate_hashed_secret ⇒ Object
20 21 22 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 20 def generate_hashed_secret self.hashed_secret = Argon2::Password.create(secret, **argon_params) end |
#other_params ⇒ Object
41 42 43 |
# File 'foobara-auth-0.0.9/src/build_secret.rb', line 41 def other_params { method: :argon2id } end |