interfacez 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/CI.yml +26 -0
- data/Gemfile.lock +4 -4
- data/interfacez.gemspec +1 -1
- data/lib/interfacez/version.rb +1 -1
- data/lib/interfacez.rb +6 -0
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3933043ffa46a19f9a456fe1c499a6d484a7a25ff5d08f31831f9badb10668a
|
4
|
+
data.tar.gz: f955df2c381771688e12a2cb013fc8c1af7cf1a0c598167b7e5cfe707b48edaf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c18edcdf348bc9c38977cf7fbcaa001278094cbbe2e77bf4b7c610299f9343cee41dde69c54dc753c555d72b25b0317b392f4b90b0eb75d97e60e4e6f02626a2
|
7
|
+
data.tar.gz: 74eb55b9b86dad34452a5912179a3cc63bc7d8a4714605f3bda1cb42ce8d1e75b2764a93383f7653643bca70b21be885220b36165fc7389f56d2762ccc18af3b
|
@@ -0,0 +1,26 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
schedule:
|
9
|
+
- cron: "0 9 * * *"
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
build:
|
13
|
+
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v2
|
18
|
+
- name: Set up Ruby 2.6
|
19
|
+
uses: actions/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: 2.6.x
|
22
|
+
- name: Build and test with Rake
|
23
|
+
run: |
|
24
|
+
gem install bundler
|
25
|
+
bundle install --jobs 4 --retry 3
|
26
|
+
bundle exec rake
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
interfacez (1.0.
|
4
|
+
interfacez (1.0.4)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
diff-lcs (1.3)
|
10
|
-
rake (
|
10
|
+
rake (13.0.1)
|
11
11
|
rspec (3.7.0)
|
12
12
|
rspec-core (~> 3.7.0)
|
13
13
|
rspec-expectations (~> 3.7.0)
|
@@ -28,8 +28,8 @@ PLATFORMS
|
|
28
28
|
DEPENDENCIES
|
29
29
|
bundler (~> 1.16)
|
30
30
|
interfacez!
|
31
|
-
rake (~>
|
31
|
+
rake (~> 13.0)
|
32
32
|
rspec (~> 3.0)
|
33
33
|
|
34
34
|
BUNDLED WITH
|
35
|
-
1.
|
35
|
+
1.17.3
|
data/interfacez.gemspec
CHANGED
@@ -22,6 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.16"
|
25
|
-
spec.add_development_dependency "rake", "~>
|
25
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
26
26
|
spec.add_development_dependency "rspec", "~> 3.0"
|
27
27
|
end
|
data/lib/interfacez/version.rb
CHANGED
data/lib/interfacez.rb
CHANGED
@@ -47,6 +47,7 @@ module Interfacez
|
|
47
47
|
def self.ipv4_loopbacks
|
48
48
|
if block_given?
|
49
49
|
raw_interface_addresses.each do |iface|
|
50
|
+
next unless iface.addr
|
50
51
|
next unless iface.addr.ipv4_loopback?
|
51
52
|
yield iface.name if block_given?
|
52
53
|
end
|
@@ -66,6 +67,7 @@ module Interfacez
|
|
66
67
|
def self.ipv6_loopbacks
|
67
68
|
if block_given?
|
68
69
|
raw_interface_addresses.each do |iface|
|
70
|
+
next unless iface.addr
|
69
71
|
next unless iface.addr.ipv6_loopback?
|
70
72
|
yield iface.name if block_given?
|
71
73
|
end
|
@@ -93,6 +95,7 @@ module Interfacez
|
|
93
95
|
return ipv4_addresses_of(interface) unless interface.nil?
|
94
96
|
results = Hash.new()
|
95
97
|
raw_interface_addresses.each do |iface|
|
98
|
+
next unless iface.addr
|
96
99
|
if iface.addr.ipv4?
|
97
100
|
results[iface.name] = [] unless results[iface.name]
|
98
101
|
results[iface.name] << iface.addr.ip_address
|
@@ -124,6 +127,7 @@ module Interfacez
|
|
124
127
|
return ipv6_addresses_of(interface) unless interface.nil?
|
125
128
|
results = Hash.new()
|
126
129
|
raw_interface_addresses.each do |iface|
|
130
|
+
next unless iface.addr
|
127
131
|
if iface.addr.ipv6?
|
128
132
|
results[iface.name] = [] unless results[iface.name]
|
129
133
|
results[iface.name] << iface.addr.ip_address
|
@@ -162,6 +166,7 @@ module Interfacez
|
|
162
166
|
if Socket.const_defined? :PF_LINK
|
163
167
|
list = raw_interface_addresses.map! do |iface|
|
164
168
|
next unless iface.name == interface
|
169
|
+
next unless iface.addr
|
165
170
|
nameinfo = iface.addr.getnameinfo
|
166
171
|
if nameinfo.first != "" && nameinfo.last == ""
|
167
172
|
nameinfo[0]
|
@@ -171,6 +176,7 @@ module Interfacez
|
|
171
176
|
elsif Socket.const_defined? :PF_PACKET
|
172
177
|
list = raw_interface_addresses.map! do |iface|
|
173
178
|
next unless iface.name == interface
|
179
|
+
next unless iface.addr
|
174
180
|
iface.addr.inspect_sockaddr[/hwaddr=([\h:]+)/, 1]
|
175
181
|
end.compact
|
176
182
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: interfacez
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kent 'picat' Gruber
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,13 +52,14 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email:
|
57
57
|
- kgruber1@emich.edu
|
58
58
|
executables: []
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
+
- ".github/workflows/CI.yml"
|
62
63
|
- ".gitignore"
|
63
64
|
- ".rspec"
|
64
65
|
- ".travis.yml"
|
@@ -78,7 +79,7 @@ homepage: https://github.com/picatz/interfacez
|
|
78
79
|
licenses:
|
79
80
|
- MIT
|
80
81
|
metadata: {}
|
81
|
-
post_install_message:
|
82
|
+
post_install_message:
|
82
83
|
rdoc_options: []
|
83
84
|
require_paths:
|
84
85
|
- lib
|
@@ -93,9 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
94
|
- !ruby/object:Gem::Version
|
94
95
|
version: '0'
|
95
96
|
requirements: []
|
96
|
-
|
97
|
-
|
98
|
-
signing_key:
|
97
|
+
rubygems_version: 3.0.6
|
98
|
+
signing_key:
|
99
99
|
specification_version: 4
|
100
100
|
summary: Simplified network interface API
|
101
101
|
test_files: []
|