class NetworkClipboard::Config
Constants
- DEFAULTS
Attributes
client_id[R]
multicast_ip[R]
port[R]
secret[R]
Public Class Methods
new(filename='~/.networkclipboard.conf')
click to toggle source
# File lib/network_clipboard/config.rb, line 19 def initialize(filename='~/.networkclipboard.conf') filename = File.expand_path(filename) begin parsed = YAML.load(File.read(filename)) rescue Errno::ENOENT parsed = {} end config = DEFAULTS.merge(parsed) secret_filename = File.expand_path(config[:secret_file]) begin @secret = [File.read(secret_filename)].pack('H*') rescue Errno::ENOENT @secret = SecureRandom.random_bytes(32) File.open(secret_filename,'w',0400){|f|f.write(secret.unpack('H*')[0])} end @multicast_ip = config[:multicast_ip] @port = config[:port] @client_id = SecureRandom.uuid.gsub('-','') end