# encoding: utf-8
require 'unirest'
require 'nokogiri'
# Malidator
class Malidator
# @param [String] email
# @return [Malidator]
def initialize(email)
@email = email
end
# @return [Mixed]
def valid?
uri = 'https://passport.yandex.ru/registration-validations/login'
headers = { x_requested_with: 'XMLHttpRequest' }
parameters = { track_id: track_id, login: local_part }
response = Unirest.post uri, headers: headers, parameters: parameters
body = response.body
!body.key? 'validation_errors'
end
private
# @return [String]
def local_part
@email.split('@').first
end
# @return [String]
def domain
@email.split('@').last
end
# @return [String]
def track_id
response = Unirest.get 'https://passport.yandex.ru/registration'
raw_body = response.raw_body
doc = Nokogiri::HTML raw_body
element = doc.at_css '[id="track_id"]'
element.attribute('value').value
end
end
malidator = Malidator.new 'foo@yandex.ru'
malidator.valid?
return true if email address is valid (no error)
return false if email address is invalid (have error)
malidator.valid?
return true if email address is valid (no error)
return false if email address is invalid (have error)
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.