class DoorKnock::Monitor
Public Class Methods
crawl(size = 100)
click to toggle source
# File lib/doorknock/monitor.rb, line 38 def self.crawl(size = 100) new.crawl(size) end
knock(url)
click to toggle source
# File lib/doorknock/monitor.rb, line 42 def self.knock(url) new.knock(url) end
new()
click to toggle source
# File lib/doorknock/monitor.rb, line 7 def initialize @memo = {} end
Public Instance Methods
crawl(size = 100)
click to toggle source
# File lib/doorknock/monitor.rb, line 24 def crawl(size = 100) Parallel.each(Feed.phishy_urls(size)) do |phishy_url| knock phishy_url end end
knock(url)
click to toggle source
# File lib/doorknock/monitor.rb, line 11 def knock(url) generator = Generator.new(url) generator.admin_panel_urls.each do |panel_url| website = Website.new(panel_url) next if marked?(website.url) next unless website.ok? && website.panel? puts [website.url, website.title].join(",") mark(website.url) break end end
mark(url)
click to toggle source
# File lib/doorknock/monitor.rb, line 30 def mark(url) @memo[url] = true end
marked?(url)
click to toggle source
# File lib/doorknock/monitor.rb, line 34 def marked?(url) @memo.fetch(url, false) end