removes unnecessary address from users
This commit is contained in:
@@ -1,20 +1,13 @@
|
||||
class Verification::Letter
|
||||
include ActiveModel::Model
|
||||
|
||||
attr_accessor :user, :address, :verification_code
|
||||
attr_accessor :user, :verification_code
|
||||
|
||||
validates :user, presence: true
|
||||
validates :address, presence: true
|
||||
validate :correct_address
|
||||
|
||||
def save
|
||||
valid? &&
|
||||
letter_requested! &&
|
||||
update_user_address
|
||||
end
|
||||
|
||||
def address
|
||||
@address ||= CensusApi.new(user).address
|
||||
letter_requested!
|
||||
end
|
||||
|
||||
def letter_requested!
|
||||
@@ -37,32 +30,6 @@ class Verification::Letter
|
||||
user.letter_verification_code == verification_code
|
||||
end
|
||||
|
||||
def correct_address
|
||||
errors.add(:address, I18n.t('verification.letter.errors.address_not_found')) unless
|
||||
address.present?
|
||||
end
|
||||
|
||||
def update_user_address
|
||||
user.address = Address.new(parsed_address)
|
||||
user.save
|
||||
end
|
||||
|
||||
def parsed_address
|
||||
{ postal_code: address[:codigo_postal],
|
||||
street: address[:nombre_via],
|
||||
street_type: address[:sigla_via],
|
||||
number: address[:numero_via],
|
||||
number_type: address[:nominal_via],
|
||||
letter: address[:letra_via],
|
||||
portal: address[:portal],
|
||||
stairway: address[:escalera],
|
||||
floor: address[:planta],
|
||||
door: address[:puerta],
|
||||
km: address[:km],
|
||||
neighbourhood: address[:nombre_barrio],
|
||||
district: address[:nombre_distrito] }
|
||||
end
|
||||
|
||||
def increase_letter_verification_tries
|
||||
user.update(letter_verification_tries: user.letter_verification_tries += 1)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user