Class: LinkedRails::Auth::OtpSecretPolicy

Inherits:
Object
  • Object
show all
Defined in:
app/policies/linked_rails/auth/otp_secret_policy.rb

Instance Method Summary collapse

Instance Method Details

#create?Boolean

Returns:

  • (Boolean)


12
13
14
15
16
# File 'app/policies/linked_rails/auth/otp_secret_policy.rb', line 12

def create?
  return forbid_with_message(I18n.t('actions.otp_secrets.errors.already_exists')) if user_context.otp_active?

  user_context.guest? || current_user?
end

#destroy?Boolean

Returns:

  • (Boolean)

Raises:

  • (ActiveRecord::RecordNotFound)


18
19
20
21
22
23
24
# File 'app/policies/linked_rails/auth/otp_secret_policy.rb', line 18

def destroy?
  raise(ActiveRecord::RecordNotFound) unless administrate_otp? || current_user?

  return forbid_with_message(I18n.t('actions.otp_secrets.errors.not_activated')) unless record.active?

  current_user? || administrate_otp?
end

#show?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'app/policies/linked_rails/auth/otp_secret_policy.rb', line 8

def show?
  user_context.guest? || current_user? || administrate_otp?
end