class WireGuard::Admin::Templates::Client
Configuration template for a WireGuard::Admin::Client
Attributes
client[R]
network[R]
servers[R]
Public Class Methods
new(client:, network:, servers:)
click to toggle source
Calls superclass method
# File lib/wire_guard/admin/templates/client.rb, line 33 def initialize(client:, network:, servers:) @client = client @network = network @servers = servers super(self.class.template, trim_mode: '<>') end
template()
click to toggle source
# File lib/wire_guard/admin/templates/client.rb, line 12 def self.template <<~CLIENT_TEMPLATE # WireGuard configuration for <%= client.name %> # generated by wg-admin [Interface] PrivateKey = <%= client.private_key %> Address = <%= client.ip %>/<%= network.prefix %> <% servers.each do |server| %> [Peer] PublicKey = <%= server.public_key %> EndPoint = <%= server.name %>:<%= server.port %> AllowedIPs = <%= server.allowed_ips %>/<%= server.allowed_ips.prefix %> PersistentKeepalive = 25 <% end %> CLIENT_TEMPLATE end
Public Instance Methods
render()
click to toggle source
# File lib/wire_guard/admin/templates/client.rb, line 40 def render result(binding) end