linux-ip-addr 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/linux/ip/route.rb +16 -1
- data/lib/linux/ip/version.rb +5 -0
- data/linux-ip-addr.gemspec +2 -2
- data/test/linux_ip_route_test.rb +13 -0
- metadata +2 -2
- data/lib/linux/ip/addr/version.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d872c524cb5965dd7d8c4caaec484924b7394bf0
|
4
|
+
data.tar.gz: 7322ee705ccbbda31c2fe125d071237b95dc4ded
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d468f7180a526b6da439d1e9729834174da2adb3f58335649edf92519995cdec7008f3cfeb1df2fca52bc39cb1f182a69c2440dd86067826a8ba6d3b221f0575
|
7
|
+
data.tar.gz: 0f44708913a3ca536958a3a486ce2441e4153705b182f4ad8f60aed922718ab0ec7259f3be640841e9ffc5f6afcfacaf4826916881deca9f6af9905944cdc5d3
|
data/lib/linux/ip/route.rb
CHANGED
@@ -12,10 +12,19 @@ module Linux
|
|
12
12
|
@routes = []
|
13
13
|
end
|
14
14
|
|
15
|
+
def as_commands(direction = 'add')
|
16
|
+
@routes.map do |route|
|
17
|
+
route.as_commands(direction)
|
18
|
+
end.flatten.compact.join("\n")
|
19
|
+
end
|
20
|
+
|
15
21
|
class Options < OpenStruct
|
16
22
|
def initialize(options_str)
|
17
23
|
super(options_str.split(/\s+/).inject({}) { |r, i| r[i] = true; r })
|
18
24
|
end
|
25
|
+
def as_ip
|
26
|
+
"" # there is some to do
|
27
|
+
end
|
19
28
|
end
|
20
29
|
|
21
30
|
class ViaRoute
|
@@ -26,8 +35,11 @@ module Linux
|
|
26
35
|
@dev = dev
|
27
36
|
@options = options
|
28
37
|
end
|
38
|
+
def as_commands(direction)
|
39
|
+
"ip route #{direction} #{dst} via #{via} #{options.as_ip}"
|
40
|
+
end
|
29
41
|
end
|
30
|
-
def add_via(dev, dst, via, options)
|
42
|
+
def add_via(dev, dst, via, options = "")
|
31
43
|
@interfaces[dev] ||= []
|
32
44
|
route = ViaRoute.new(dst, via, dev, Options.new(options))
|
33
45
|
@interfaces[dev] << route
|
@@ -41,6 +53,9 @@ module Linux
|
|
41
53
|
@dev = dev
|
42
54
|
@options = options
|
43
55
|
end
|
56
|
+
def as_commands(direction)
|
57
|
+
"ip route #{direction} #{dst} dev #{dev} #{options.as_ip}"
|
58
|
+
end
|
44
59
|
end
|
45
60
|
def add_dev(dev, dst, options)
|
46
61
|
@interfaces[dev] ||= []
|
data/linux-ip-addr.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'linux/ip/
|
4
|
+
require 'linux/ip/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "linux-ip-addr"
|
8
|
-
spec.version = Linux::Ip::
|
8
|
+
spec.version = Linux::Ip::VERSION
|
9
9
|
spec.authors = ["Meno Abels"]
|
10
10
|
spec.email = ["meno.abels@adviser.com"]
|
11
11
|
spec.summary = %q{Parse the output of ip addr on a linux system}
|
data/test/linux_ip_route_test.rb
CHANGED
@@ -104,5 +104,18 @@ SAMPLE
|
|
104
104
|
def test_find
|
105
105
|
end
|
106
106
|
|
107
|
+
def test_as_command
|
108
|
+
ip_route = Linux::Ip::Route.parse_from_lines(@ip_route_4_show.lines)
|
109
|
+
assert ip_route.as_commands("del").include?("ip route del 112.164.91.136/29 dev eth3.207")
|
110
|
+
ip_route = Linux::Ip::Route.parse_from_lines(@ip_route_6_show.lines)
|
111
|
+
assert ip_route.as_commands("add").include?("ip route add 3c04:3a60:0:fe82::/64 via 3c04:3a60:0:2::21")
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_from_scratch
|
115
|
+
ip_route = Linux::Ip::Route::IpRoute.new
|
116
|
+
ip_route.add_via("eth0", "0.0.0.0/0", "47.11.1.1")
|
117
|
+
assert ip_route.as_commands("add").include?("ip route add 0.0.0.0/0 via 47.11.1.1")
|
118
|
+
end
|
119
|
+
|
107
120
|
end
|
108
121
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linux-ip-addr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Meno Abels
|
@@ -37,8 +37,8 @@ files:
|
|
37
37
|
- README.md
|
38
38
|
- Rakefile
|
39
39
|
- lib/linux/ip/addr.rb
|
40
|
-
- lib/linux/ip/addr/version.rb
|
41
40
|
- lib/linux/ip/route.rb
|
41
|
+
- lib/linux/ip/version.rb
|
42
42
|
- linux-ip-addr.gemspec
|
43
43
|
- test/linux_ip_addr_test.rb
|
44
44
|
- test/linux_ip_route_test.rb
|