lib/gdk/diagnostic/loopback.rb (29 lines of code) (raw):

# frozen_string_literal: true module GDK module Diagnostic class Loopback < Base TITLE = 'Loopback interface' def success? return true unless needs_loopback? return true unless GDK::Machine.macos? loopback_configured? end def detail return if success? <<~MESSAGE You have configured #{config.listen_address} as listen address, so you need to create a loopback interface for GDK to work properly. You can do this by running the following command: sudo ifconfig lo0 alias #{config.listen_address} MESSAGE end private def needs_loopback? config.listen_address == '172.16.123.1' end def loopback_configured? sh = GDK::Shellout.new(%w[ifconfig lo0]) sh.run.include?(config.listen_address) end end end end