Class: Y2Network::Dialogs::AdditionalAddress

Inherits:
CWM::Popup
  • Object
show all
Defined in:
src/lib/y2network/dialogs/additional_address.rb

Overview

Popup dialog to add or edit an additional IP address configuration to a connection config

Instance Method Summary collapse

Constructor Details

#initialize(name, settings) ⇒ AdditionalAddress

Constructor

Parameters:

  • name (String)
  • settings (Object)


34
35
36
37
38
39
40
# File 'src/lib/y2network/dialogs/additional_address.rb', line 34

def initialize(name, settings)
  super()
  textdomain "network"

  @name     = name
  @settings = settings
end

Instance Method Details

#contentsObject



42
43
44
45
46
47
48
# File 'src/lib/y2network/dialogs/additional_address.rb', line 42

def contents
  VBox(
    label_widget,
    ip_address_widget,
    netmask_widget
  )
end

#runObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'src/lib/y2network/dialogs/additional_address.rb', line 50

def run
  ret = nil

  loop do
    ret = super
    break if ret != :ok

    @settings.subnet_prefix = subnet_prefix_for(@settings.subnet_prefix)

    begin
      IPAddr.new("#{@settings.ip_address}#{@settings.subnet_prefix}")
      break
    rescue IPAddr::InvalidAddressError
      Yast::Report.Error(
        format(_("Invalid Address %s%s"), @settings.ip_address, @settings.subnet_prefix)
      )
    end
  end

  ret
end