Class: Tsclient::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/tsclient/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(uri:) ⇒ Client

Returns a new instance of Client.



11
12
13
14
# File 'lib/tsclient/client.rb', line 11

def initialize(uri:)
  @api_uri = uri.freeze
  freeze
end

Instance Method Details

#tailscale_ipsObject



16
17
18
# File 'lib/tsclient/client.rb', line 16

def tailscale_ips
  api_get(:status).result.dig("TailscaleIPs")
end

#whois(addr) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/tsclient/client.rb', line 20

def whois(addr)
  unless addr.include?(":")
    addr += ":80"
  end
  response = api_get(:whois, addr: addr)
  if response.error?
    nil
  else
    Profile.from(response.result)
  end
end