Class: Linux::Ip::Route::IpRoute

Inherits:
Object
  • Object
show all
Defined in:
lib/linux/ip/route.rb

Defined Under Namespace

Classes: IfaceRoute, Options, ViaRoute

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIpRoute

Returns a new instance of IpRoute.



23
24
25
26
# File 'lib/linux/ip/route.rb', line 23

def initialize
  @interfaces = {}
  @routes = []
end

Instance Attribute Details

#interfacesObject (readonly)

Returns the value of attribute interfaces.



22
23
24
# File 'lib/linux/ip/route.rb', line 22

def interfaces
  @interfaces
end

#routesObject (readonly)

Returns the value of attribute routes.



22
23
24
# File 'lib/linux/ip/route.rb', line 22

def routes
  @routes
end

Instance Method Details

#add_dev(dev, dst, options) ⇒ Object



58
59
60
61
62
63
# File 'lib/linux/ip/route.rb', line 58

def add_dev(dev, dst, options)
  @interfaces[dev] ||= []
  route = IfaceRoute.new(dst, dev, Options.new(options))
  @interfaces[dev] << route
  @routes << route
end

#add_via(dev, dst, via, options) ⇒ Object



43
44
45
46
47
48
# File 'lib/linux/ip/route.rb', line 43

def add_via(dev, dst, via, options)
  @interfaces[dev] ||= []
  route = ViaRoute.new(dst, via, dev, Options.new(options))
  @interfaces[dev] << route
  @routes << route
end

#find(name) ⇒ Object



68
69
70
# File 'lib/linux/ip/route.rb', line 68

def find(name)
  interfaces.find { |i| i.name == name }
end

#lengthObject



65
66
67
# File 'lib/linux/ip/route.rb', line 65

def length
  interfaces.length
end