Class: UrlScan::Clients::Pro

Inherits:
Base
  • Object
show all
Defined in:
lib/urlscan/clients/pro.rb

Constant Summary collapse

VERSION =
1
HOST =
"pro.urlscan.com"

Instance Attribute Summary

Attributes inherited from Base

#key

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from UrlScan::Clients::Base

Instance Method Details

#brandsHash

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


22
23
24
25
26
# File 'lib/urlscan/clients/pro.rb', line 22

def brands
  raise ArgumentError, "API key is required for this method." if key.nil?

  get("/brands") { |json| json }
end

#kitsHash

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


29
30
31
32
33
# File 'lib/urlscan/clients/pro.rb', line 29

def kits
  raise ArgumentError, "API key is required for this method." if key.nil?

  get("/kits") { |json| json }
end

#phishfeed(q: "result.task.time:>now-24h", format: "json") ⇒ Hash

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


36
37
38
39
40
41
42
# File 'lib/urlscan/clients/pro.rb', line 36

def phishfeed(q: "result.task.time:>now-24h", format: "json")
  raise ArgumentError, "API key is required for this method." if key.nil?

  params = { q: q, format: format }
  query = URI.encode_www_form(params)
  get("/phishfeed?#{query}") { |json| json }
end

#search(query: nil, filter: nil, size: 50) ⇒ Hash

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
17
18
19
# File 'lib/urlscan/clients/pro.rb', line 10

def search(query: nil, filter: nil, size: 50)
  raise ArgumentError, "API key is required for this method." if key.nil?

  filter = build_filter(filter)
  params = { q: query, size: size }.compact
  uri_query = URI.encode_www_form(params)
  uri_query << "&filter=#{filter}" if filter

  get("/search?#{uri_query}") { |json| json }
end