class Miteru::Attachement
Attributes
url[R]
Public Class Methods
new(url)
click to toggle source
# File lib/miteru/attachement.rb, line 9 def initialize(url) @url = url end
Public Instance Methods
to_a()
click to toggle source
# File lib/miteru/attachement.rb, line 13 def to_a [ { text: defanged_url, fallback: "VT & urlscan.io links", actions: actions } ] end
Private Instance Methods
_urlscan_link()
click to toggle source
# File lib/miteru/attachement.rb, line 62 def _urlscan_link return nil unless domain "https://urlscan.io/domain/#{domain}" end
_vt_link()
click to toggle source
# File lib/miteru/attachement.rb, line 68 def _vt_link return nil unless domain "https://www.virustotal.com/#/domain/#{domain}" end
actions()
click to toggle source
# File lib/miteru/attachement.rb, line 25 def actions [vt_link, urlscan_link].compact end
defanged_url()
click to toggle source
# File lib/miteru/attachement.rb, line 49 def defanged_url @defanged_url ||= url.to_s.gsub /\./, "[.]" end
domain()
click to toggle source
# File lib/miteru/attachement.rb, line 53 def domain @domain ||= [].tap do |out| out << URI(url).hostname rescue URI::Error => _e out << nil end.first end
urlscan_link()
click to toggle source
# File lib/miteru/attachement.rb, line 39 def urlscan_link return nil unless _urlscan_link { type: "button", text: "Lookup on urlscan.io", url: _urlscan_link } end
vt_link()
click to toggle source
# File lib/miteru/attachement.rb, line 29 def vt_link return nil unless _vt_link { type: "button", text: "Lookup on VirusTotal", url: _vt_link } end