Class: Linux::Ip::Route::IpRoute
- Inherits:
-
Object
- Object
- Linux::Ip::Route::IpRoute
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
10
11
12
13
|
# File 'lib/linux/ip/route.rb', line 10
def initialize
@interfaces = {}
@routes = []
end
|
Instance Attribute Details
#interfaces ⇒ Object
Returns the value of attribute interfaces.
9
10
11
|
# File 'lib/linux/ip/route.rb', line 9
def interfaces
@interfaces
end
|
#routes ⇒ Object
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
60
61
62
63
64
65
|
# File 'lib/linux/ip/route.rb', line 60
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
42
43
44
45
46
47
|
# File 'lib/linux/ip/route.rb', line 42
def add_via(dev, dst, via, options = "")
@interfaces[dev] ||= []
route = ViaRoute.new(dst, via, dev, Options.new(options))
@interfaces[dev] << route
@routes << route
end
|
#as_commands(direction = 'add') ⇒ Object
15
16
17
18
19
|
# File 'lib/linux/ip/route.rb', line 15
def as_commands(direction = 'add')
@routes.map do |route|
route.as_commands(direction)
end.flatten.compact.join("\n")
end
|
#find(name) ⇒ Object
70
71
72
|
# File 'lib/linux/ip/route.rb', line 70
def find(name)
interfaces.find { |i| i.name == name }
end
|
#length ⇒ Object
67
68
69
|
# File 'lib/linux/ip/route.rb', line 67
def length
interfaces.length
end
|