class Miteru::Feeds::UrlScan

Attributes

size[R]

Public Class Methods

new(size = 100) click to toggle source
# File lib/miteru/feeds/urlscan.rb, line 10
def initialize(size = 100)
  @size = size
  raise ArgumentError, "size must be less than 10,000" if size > 10_000
end

Public Instance Methods

api() click to toggle source
# File lib/miteru/feeds/urlscan.rb, line 15
def api
  @api ||= ::UrlScan::API.new
end
urls() click to toggle source
# File lib/miteru/feeds/urlscan.rb, line 19
def urls
  urls_from_community_feed
rescue ::UrlScan::ResponseError => e
  puts "Failed to load urlscan.io feed (#{e})"
  []
end

Private Instance Methods

urls_from_community_feed() click to toggle source
# File lib/miteru/feeds/urlscan.rb, line 28
def urls_from_community_feed
  res = api.search("task.method:automatic", size: size)

  results = res["results"] || []
  results.map { |result| result.dig("task", "url") }
end