Sha256: aa7efde0e595d087b5c4cd4ebd5d8ecb8b82669182c13d18726da1c58c23dbc2

Contents?: true

Size: 578 Bytes

Versions: 1

Compression:

Stored size: 578 Bytes

Contents

# frozen_string_literal: true

require "thor"
require "json"

module RogueOne
  class CLI < Thor
    desc "report [DNS_SERVER]", "Show a report of a given DNS server"
    def report(dns_server)
      with_error_handling do
        Ping.pong? dns_server

        detector = Detector.new(target: dns_server)
        puts JSON.pretty_generate(detector.report)
      end
    end

    no_commands do
      def with_error_handling
        yield
      rescue StandardError => e
        message = { error: e.to_s }
        puts JSON.pretty_generate(message)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rogue_one-0.1.4 lib/rogue_one/cli.rb