Class: Core::Services::Accounts
- Includes:
- Singleton
- Defined in:
- lib/core/services/accounts.rb
Overview
Service managing user accounts.
Instance Method Summary collapse
-
#get_by_credentials(username: nil, password: nil, **ignored) ⇒ Core::Decorators::Account
Gets and authenticates an account using its credentials.
-
#get_by_username(username: nil, **ignored) ⇒ Core::Models::Account
Gets an account given the nickname of the user.
Methods inherited from Base
#bad_request_err, #forbidden_err, #require_parameters, #unknown_err
Instance Method Details
#get_by_credentials(username: nil, password: nil, **ignored) ⇒ Core::Decorators::Account
Gets and authenticates an account using its credentials.
34 35 36 37 38 39 40 41 |
# File 'lib/core/services/accounts.rb', line 34 def get_by_credentials(username: nil, password: nil, **ignored) require_parameters password: password account = get_by_username(username: username) raise forbidden_err(field: 'password', error: 'wrong') unless account.has_password?(password) account end |
#get_by_username(username: nil, **ignored) ⇒ Core::Models::Account
Gets an account given the nickname of the user.
17 18 19 20 21 22 23 |
# File 'lib/core/services/accounts.rb', line 17 def get_by_username(username: nil, **ignored) require_parameters username: username account = Core::Models::Account.find_by(username: username) raise unknown_err(field: 'username') if account.nil? Core::Decorators::Account.new(account) end |