Module: Cleanweb::Spam
- Included in:
- Cleanweb
- Defined in:
- lib/cleanweb/spam.rb
Instance Method Summary collapse
Instance Method Details
#ask_yandex ⇒ Object
36 37 38 39 |
# File 'lib/cleanweb/spam.rb', line 36 def ask_yandex uri = URI.parse(SPAM_URL) Net::HTTP.post_form(uri, spam_params).body end |
#parse_xml ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/cleanweb/spam.rb', line 4 def parse_xml xml = REXML::Document.new(ask_yandex) res = [] begin xml.root.elements.each("text") {|e| res << e.attributes["spam-flag"]} xml.root.elements.each("links") do |links| links.elements.each("link") {|e| res << e.attributes["spam-flag"]} end rescue end res.uniq end |
#spam? ⇒ Boolean
17 18 19 20 21 22 23 24 |
# File 'lib/cleanweb/spam.rb', line 17 def spam? results = parse_xml if results == ["no"] && !results.empty? false else true end end |
#spam_params ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/cleanweb/spam.rb', line 26 def spam_params res = {key: @@api_key} @params.slice([:ip, :email, :name, :login, :realname]).each do |k, v| res.merge!(k: v) if @params[k].present? end res["subject-plain"] = @subject res["body-plain"] = @body res end |