данные маски json ruby - PullRequest
       4

данные маски json ruby

0 голосов
/ 08 апреля 2020

У меня есть 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...