Sha256: df363eee21bbb9a18ed967c526efd30d939317328c429f70d7d81dafa90b2387

Contents?: true

Size: 984 Bytes

Versions: 1

Compression:

Stored size: 984 Bytes

Contents

module VpnRoutingMac
  class Installer
    # required: sudo
    def install
      if ip_up_path.exist?
        backup_ip_up!
        ip_up_path.delete
      end

      FileUtils.ln_s(project_ip_up_path, ip_up_path)

      VpnRoutingMac::Config.etc_config_dir.unlink if VpnRoutingMac::Config.etc_config_dir.exist?
      FileUtils.ln_s(VpnRoutingMac::Config.home_config_dir, VpnRoutingMac::Config.etc_config_dir)
    end

    # required: sudo
    def uninstall
      if ip_up_path.exist?
        backup_ip_up!
        ip_up_path.delete
      end
    end

    def project_ip_up_path
      VpnRoutingMac::Application.project_root.join("config/ip-up")
    end

    def ip_up_dir_path
      Pathname.new("/etc/ppp")
    end

    def ip_up_path
      ip_up_dir_path.join("ip-up")
    end

    def backup_ip_up!
      backup_dir_path = ip_up_dir_path.join(Time.now.strftime("backup.%Y%m%d%H%M%S"))
      backup_dir_path.mkdir
      FileUtils.cp(ip_up_path, backup_dir_path)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vpn_routing_mac-0.2.0 lib/vpn_routing_mac/Installer.rb