Class: WireGuard::Admin::Networks

Inherits:
Thor
  • Object
show all
Extended by:
ClassHelpers
Includes:
InstanceHelpers
Defined in:
lib/wire_guard/admin/cli/networks.rb

Overview

Commands for working with networks

Instance Method Summary collapse

Methods included from ClassHelpers

default_network, path, repository

Methods included from InstanceHelpers

#ip, #network, #repository

Instance Method Details

#add(network) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/wire_guard/admin/cli/networks.rb', line 32

def add(network)
  warn "Using database #{repository.path}" if options[:verbose]
  nw = IPAddr.new(network)
  repository.add_network(nw)
  warn "Network #{nw}/#{nw.prefix} was successfully added." if options[:verbose]
rescue Repository::NetworkAlreadyExists => e
  raise Thor::Error, "Error: #{e.message}"
end

#delete(network) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/wire_guard/admin/cli/networks.rb', line 43

def delete(network)
  warn "Using database #{repository.path}" if options[:verbose]
  nw = IPAddr.new(network)
  repository.delete_network(nw)
  warn "Network #{nw}/#{nw.prefix} was successfully deleted." if options[:verbose]
rescue StandardError => e
  raise Thor::Error, "Error: #{e.message}"
end

#listObject



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/wire_guard/admin/cli/networks.rb', line 18

def list
  if options[:verbose]
    warn "Using database #{repository.path}"
    warn 'No networks defined.' if repository.networks.empty?
  end

  repository.networks.each do |network|
    puts "#{network}/#{network.prefix}"
  end
rescue StandardError => e
  raise Thor::Error, "Error: #{e.message}"
end