lib/yandex_cleanweb.rb in yandex_cleanweb-0.0.3 vs lib/yandex_cleanweb.rb in yandex_cleanweb-0.0.4
- old
+ new
@@ -15,19 +15,21 @@
doc = Nokogiri::XML(response)
request_id_tag = doc.xpath('//check-spam-result/id')
spam_flag_tag = doc.xpath('//check-spam-result/text')
- request_id = request_id_tag[0]
+ request_id = request_id_tag[0].content
spam_flag = spam_flag_tag[0].attributes["spam-flag"].content
if spam_flag == 'yes'
- links = doc.xpath('//check-spam-result/links').map { |el|
- [attributes["url"], attributes["spam_flag"] == 'yes']
- }
+ links = doc.xpath('//check-spam-result/links')[0].children
- { id: request_id, links: links }
+ links.map do |el|
+ [el.attributes["url"], el.attributes["spam_flag"] == 'yes']
+ end
+
+ { :id => request_id, :links => links }
else
false
end
end
@@ -36,14 +38,11 @@
doc = Nokogiri::XML(response)
url = doc.xpath('//get-captcha-result/url').text
captcha_id = doc.xpath('//get-captcha-result/captcha').text
- {
- url: url,
- captcha: captcha_id
- }
+ { :url => url, :captcha => captcha_id }
end
def valid_captcha?(request_id, captcha_id, value)
response = api_check_captcha(request_id, captcha_id, value)
doc = Nokogiri::XML(response)
@@ -53,55 +52,39 @@
private
def api_check_captcha(request_id, captcha_id, value)
check_captcha_url = "#{API_URL}/check-captcha"
params = {
- key: api_key,
- id: request_id,
- captcha: captcha_id,
- value: value
+ :key => api_key,
+ :id => request_id,
+ :captcha => captcha_id,
+ :value => value
}
uri = URI.parse(check_captcha_url)
uri.query = URI.encode_www_form(params)
Net::HTTP.get(uri)
end
def api_get_captcha(request_id)
get_captcha_url = "#{API_URL}/get-captcha"
- params = {key: api_key, id: request_id}
+ params = { :key => api_key, :id => request_id }
uri = URI.parse(get_captcha_url)
uri.query = URI.encode_www_form(params)
Net::HTTP.get(uri)
end
- def api_check_spam(*options)
- cleanweb_options = {}
- cleanweb_options["key"] = api_key
+ def api_check_spam(options)
+ cleanweb_options = { :key => api_key }
- if options[0][0].is_a?(String) # fast check
- cleanweb_options["body-plain"] = options[0][0]
+ if options[0].is_a?(String) # quick check
+ cleanweb_options[:body_plain] = options[0]
else
- options = options[0][0]
-
- cleanweb_options.merge!({
- "body-plain" => options[:body_plain],
- "body-html" => options[:body_html],
- "body-bbcode" => options[:body_bbcode],
-
- "subject-html" => options[:subject_html],
- "subject-plain" => options[:subject_plain],
- "subject-bbcode" => options[:subject_bbcode],
-
- "ip" => options[:ip],
- "email" => options[:email],
- "name" => options[:name],
- "login" => options[:login],
- "realname" => options[:realname]
- })
+ options = options[0]
+ cleanweb_options.merge!(Hash[options.map{ |k,v| [k.to_s.gsub("_","-"), v] }])
end
check_spam_url = "#{API_URL}/check-spam"
uri = URI.parse(check_spam_url)
response = Net::HTTP.post_form(uri, cleanweb_options)