У меня есть json и необходимо замаскировать адрес и контактные данные. Я сделал эскиз функции, но я не понимаю. Может кто-нибудь помочь мне, пожалуйста?
{
"customer": {
"name": "Mari*****gela",
"email": "maria@*****.com",
"address": {
"id": 2,
"street": "Rua Sant Gem",
"number": "123",
"neighborhood": "Garden",
"complement": "house",
"postal_code": "17533333",
"city": "Louisiana",
"state": "EUA"
},
"contact": {
"id": 2,
"area_code": "11",
"number": "9999999"
}
}
Моя функция:
MASK_CHAR = '*' # Character that replaces numbers
START_COUNT = 6 # Number of values displayed at the beginning
END_COUNT = 4 # Number of values displayed at the end
def self.mask_address(address)
#binding.pry
address.as_json.each_pair do |key,value|
length = value.to_s.length
mask = MASK_CHAR * (length - (START_COUNT + END_COUNT))
if START_COUNT == 0 && END_COUNT == 0
address[key.to_sym] = mask
else
address[key.to_sym] = email[0..START_COUNT-1] + mask + email[-END_COUNT..-1]
end
end
end