class TwoFactorDevices::Devices::Registrator
class with methods for initialization and registration devices by type
Public Instance Methods
prepare_device(owner, device_type, device_attributes = {})
click to toggle source
# File lib/two_factor_devices/devices/registrator.rb, line 5 def prepare_device(owner, device_type, device_attributes = {}) unless TwoFactorDevices.available_types.include?(device_type) raise ArgumentError, "Device type - #{device_type} is unknown or has no configured gateway." end device_class = DEVICE_TYPES[device_type].constantize device_class.new(**device_attributes.to_h.symbolize_keys.merge(owner: owner, is_confirmed: false)) end
register_device!(device)
click to toggle source
# File lib/two_factor_devices/devices/registrator.rb, line 14 def register_device!(device) device.save! rescue ActiveRecord::RecordInvalid, Activerecord::RecordNotSaved => e raise InvalidDevice, e end