class ZuoraConnect::AppInstanceBase

def decrypt_data(data: nil, rescue_return: nil, log_fatal: true)

def decrypt_data(data: nil, rescue_return: nil, log_fatal: true)
  return data if data.blank?
  if Rails.env == 'development'
    begin
      return JSON.parse(data)
    rescue JSON::ParserError => ex
      return data
    end
  else
    begin
      return JSON.parse(encryptor.decrypt_and_verify(CGI::unescape(data)))
    rescue ActiveSupport::MessageVerifier::InvalidSignature => ex
      ZuoraConnect.logger.add(Logger::FATAL, 'Error Decrypting') if log_fatal
      return rescue_return
    rescue JSON::ParserError => ex
      return encryptor.decrypt_and_verify(CGI::unescape(data))
    end
  end
end