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.



10
11
12
13
# File 'lib/linux/ip/route.rb', line 10

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

Instance Attribute Details

#interfacesObject (readonly)

Returns the value of attribute interfaces.



9
10
11
# File 'lib/linux/ip/route.rb', line 9

def interfaces
  @interfaces
end

#routesObject (readonly)

Returns the value of attribute routes.



9
10
11
# File 'lib/linux/ip/route.rb', line 9

def routes
  @routes
end

Instance Method Details

#add_dev(dev, dst, options) ⇒ Object



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

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



30
31
32
33
34
35
# File 'lib/linux/ip/route.rb', line 30

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



55
56
57
# File 'lib/linux/ip/route.rb', line 55

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

#lengthObject



52
53
54
# File 'lib/linux/ip/route.rb', line 52

def length
  interfaces.length
end