Sha256: 4229cf49c7c561acb1476cf313421360cd25e56dea94b92f69ddb5142230781c

Contents?: true

Size: 727 Bytes

Versions: 4

Compression:

Stored size: 727 Bytes

Contents

# frozen_string_literal: true

require "uri"

module Miteru
  class Attachement
    attr_reader :url
    def initialize(url)
      @url = url
    end

    def to_h
      {
        fallback: "urlscan.io link",
        title: title,
        title_link: title_link,
        footer: "urlscan.io",
        footer_icon: "http://www.google.com/s2/favicons?domain=urlscan.io"
      }
    end

    private

    def title_link
      domain ? "https://urlscan.io/domain/#{domain}" : "https://urlscan.io"
    end

    def title
      domain || "N/A"
    end

    def domain
      @domain ||=
        [].tap do |out|
          out << URI(url).hostname
        rescue URI::Error => _
          out << nil
        end.first
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
miteru-0.12.3 lib/miteru/attachement.rb
miteru-0.12.2 lib/miteru/attachement.rb
miteru-0.12.1 lib/miteru/attachement.rb
miteru-0.12.0 lib/miteru/attachement.rb