class Dnsblim::CLI::Tables::MCheckTable

Public Class Methods

new() click to toggle source
# File lib/dnsblim/cli/tables.rb, line 40
def initialize
  @hl = HighLine.new(STDIN, STDOUT, 80, 1, 2, 1)
  self.formatter = 'nested'
end

Public Instance Methods

run(obj, _options) click to toggle source
# File lib/dnsblim/cli/tables.rb, line 45
def run(obj, _options)
  obj.each do |ip, hash|
    report(message: "Check on #{ip}") do
      report(message: "MySQL Data for #{ip}", color: 'green') do
        hash[1]['mysql'].each do |_key, _value|
          case _key
          when 'success'
            return_string = "Retrieval Success: #{_value.to_s.capitalize}"
            report(message: return_string, type: 'inline', complete: '') do
            end
          when 'ip_addr'
            next
          when 'type'
            return_string = "Listing Type: #{_value}"
            report(message: return_string, type: 'inline', complete: '') do
            end
          when 'removal_date'
            return_string = "Expiration Date: #{DateTime.parse(_value).strftime('%c')}"
            report(message: return_string, type: 'inline', complete: '') do
            end
          when 'class'
            return_string = "Type Class: #{_value}"
            report(message: return_string, type: 'inline', complete: '') do
            end
          when 'error'
            return_string = "Retrieved: #{_value}"
            report(message: return_string, type: 'inline', color: 'red', complete: '') do
            end
          end
        end
      end
      report(message: "DNS Results for #{ip}", color: 'green') do
        hash[1]['dns'].each do |_key, _value|
          return_string = ''
          case _key
          when 'success'
            case _value

            when true
              return_string = "Retrieved: #{_value.to_s.capitalize}"
              report(message: return_string, type: 'inline', complete: '') do
              end
            when false
              return_string = 'Retrieved: Not listed'
              report(message: return_string, type: 'inline', complete: '', color: 'red') do
              end
            end
          when 'ip_addr'
            next
          when 'reply'
            return_string = "Record: #{_value}"
            report(message: return_string, type: 'inline', complete: '') do
            end
          when 'listed'
            return_string = "Listed: #{_value == 1 ? 'Yes' : 'No'}"
            report(message: return_string, type: 'inline', complete: '') do
            end

          end
        end
      end

      hash[1].each do |_key, _value|
        return_string = ''
        case _key
        when 'mysql'
          next
        when 'dns'
          next
        when 'set_by'
          return_string = "Submitted By: #{_value}"
        when 'reason'
          return_string = "Reason: #{_value}"
        when 'set_by_id'
          return_string = "Key ID: #{_value}"
        end
        report(message: return_string, type: 'inline', complete: '') do
        end
      end
    end
  end
end