Skip to content

Commit

Permalink
Extract default values into constants (#89)
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrofurtado authored Jun 21, 2021
1 parent 8bf4150 commit f7177c7
Showing 1 changed file with 24 additions and 9 deletions.
33 changes: 24 additions & 9 deletions lib/active_model/one_time_password.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@ module ActiveModel
module OneTimePassword
extend ActiveSupport::Concern

OTP_DEFAULT_COLUMN_NAME = 'otp_secret_key'.freeze
OTP_DEFAULT_COUNTER_COLUMN_NAME = 'otp_counter'.freeze
OTP_DEFAULT_BACKUP_CODES_COLUMN_NAME = 'otp_backup_codes'.freeze
OTP_DEFAULT_DIGITS = 6
OTP_DEFAULT_BACKUP_CODES_COUNT = 12
OTP_COUNTER_ENABLED_BY_DEFAULT = false
OTP_BACKUP_CODES_ENABLED_BY_DEFAULT = false

module ClassMethods
def has_one_time_password(options = {})
cattr_accessor :otp_column_name, :otp_counter_column_name,
Expand All @@ -10,19 +18,26 @@ def has_one_time_password(options = {})
:otp_backup_codes_count, :otp_one_time_backup_codes,
:otp_interval

self.otp_column_name = (options[:column_name] || "otp_secret_key").to_s
self.otp_digits = options[:length] || 6

self.otp_counter_based = (options[:counter_based] || false)
self.otp_counter_column_name = (options[:counter_column_name] || "otp_counter").to_s
self.otp_column_name = (
options[:column_name] || OTP_DEFAULT_COLUMN_NAME
).to_s
self.otp_digits = options[:length] || OTP_DEFAULT_DIGITS
self.otp_counter_based = (
options[:counter_based] || OTP_COUNTER_ENABLED_BY_DEFAULT
)
self.otp_counter_column_name = (
options[:counter_column_name] || OTP_DEFAULT_COUNTER_COLUMN_NAME
).to_s
self.otp_interval = options[:interval]

self.otp_backup_codes_column_name = (
options[:backup_codes_column_name] || 'otp_backup_codes'
options[:backup_codes_column_name] ||
OTP_DEFAULT_BACKUP_CODES_COLUMN_NAME
).to_s
self.otp_backup_codes_count = options[:backup_codes_count] || 12
self.otp_backup_codes_count = (
options[:backup_codes_count] || OTP_DEFAULT_BACKUP_CODES_COUNT
)
self.otp_one_time_backup_codes = (
options[:one_time_backup_codes] || false
options[:one_time_backup_codes] || OTP_BACKUP_CODES_ENABLED_BY_DEFAULT
)

include InstanceMethodsOnActivation
Expand Down

0 comments on commit f7177c7

Please sign in to comment.