pio 0.2.4 → 0.2.5
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/lib/pio/ipv4_address.rb +10 -1
- data/lib/pio/lldp.rb +3 -2
- data/lib/pio/mac.rb +65 -53
- data/lib/pio/version.rb +1 -1
- data/pio.org +99 -28
- data/pio.org_archive +17 -0
- data/spec/pio/mac_spec.rb +6 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b195270747468aaa2b80432c46510f55f1454f48
|
4
|
+
data.tar.gz: 2a2ee7694241f4b47f7c55fa29c1fb749a0ef448
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfcc2a3f9db6f8e70ea6212883ce08dbfb3a274ed85ab71cc39383cb7a6be32bc2da936b658b80e89618b9788b37f3028c0b7859d455d3f32b672bafaa82f932
|
7
|
+
data.tar.gz: 8e87ff8d652dc724a1f64de6bcc65655ed732f60a0ea700e2e63e5a72aa8498192c1d40bf0972d3b13932ef622535bf38fecf3f5b1dc95c18fac12b9e6f1feee
|
data/lib/pio/ipv4_address.rb
CHANGED
@@ -78,13 +78,22 @@ module Pio
|
|
78
78
|
# @return [Array]
|
79
79
|
# an array of decimal numbers converted from IPv4 address.
|
80
80
|
#
|
81
|
-
def
|
81
|
+
def to_a
|
82
82
|
to_s.split( "." ).collect do | each |
|
83
83
|
each.to_i
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
87
|
|
88
|
+
#
|
89
|
+
# @return [Array]
|
90
|
+
# an array of decimal numbers converted from IPv4 address.
|
91
|
+
#
|
92
|
+
def to_ary
|
93
|
+
to_a
|
94
|
+
end
|
95
|
+
|
96
|
+
|
88
97
|
#
|
89
98
|
# @return [IPv4Address]
|
90
99
|
# Returns the IPv4 address masked with masklen.
|
data/lib/pio/lldp.rb
CHANGED
@@ -21,8 +21,8 @@ module Pio
|
|
21
21
|
|
22
22
|
def to_hash
|
23
23
|
{
|
24
|
-
:destination_mac => Mac.new( destination_mac ).
|
25
|
-
:source_mac => Mac.new( source_mac ).
|
24
|
+
:destination_mac => Mac.new( destination_mac ).to_a,
|
25
|
+
:source_mac => Mac.new( source_mac ).to_a,
|
26
26
|
:chassis_id => dpid,
|
27
27
|
:port_id => port_id
|
28
28
|
}
|
@@ -64,6 +64,7 @@ module Pio
|
|
64
64
|
rescue
|
65
65
|
raise Pio::ParseError, $!.message
|
66
66
|
end
|
67
|
+
|
67
68
|
lldp = allocate
|
68
69
|
lldp.instance_variable_set :@frame, frame
|
69
70
|
lldp
|
data/lib/pio/mac.rb
CHANGED
@@ -11,46 +11,45 @@ module Pio
|
|
11
11
|
|
12
12
|
|
13
13
|
#
|
14
|
-
#
|
14
|
+
# Creates a {Mac} instance that encapsulates Ethernet addresses.
|
15
15
|
#
|
16
|
-
# @example
|
17
|
-
# Mac.new("11:22:33:44:55:66")
|
16
|
+
# @example address as a hexadecimal string
|
17
|
+
# Mac.new("11:22:33:44:55:66")
|
18
18
|
#
|
19
|
-
# @
|
19
|
+
# @example address as a hexadecimal number
|
20
|
+
# Mac.new(0xffffffffffff)
|
20
21
|
#
|
21
|
-
|
22
|
+
def initialize value
|
23
|
+
if value.respond_to?( :to_str )
|
24
|
+
@value = parse_mac_string( value.to_str )
|
25
|
+
elsif value.respond_to?( :to_int )
|
26
|
+
@value = value.to_int
|
27
|
+
validate_value_range
|
28
|
+
else
|
29
|
+
raise TypeError, "Invalid MAC address: #{ value.inspect }"
|
30
|
+
end
|
31
|
+
end
|
22
32
|
|
23
33
|
|
24
34
|
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
# @overload initialize(value)
|
35
|
+
# Returns an Ethernet address in its numeric presentation.
|
28
36
|
#
|
29
|
-
# @
|
30
|
-
#
|
37
|
+
# @example
|
38
|
+
# Mac.new("11:22:33:44:55:66").to_i #=> 18838586676582
|
31
39
|
#
|
32
|
-
|
33
|
-
|
40
|
+
def to_i
|
41
|
+
@value
|
42
|
+
end
|
43
|
+
|
44
|
+
|
34
45
|
#
|
35
|
-
# @
|
36
|
-
# Mac.new(0xffffffffffff)
|
46
|
+
# @see to_i
|
37
47
|
#
|
38
|
-
# @
|
39
|
-
#
|
48
|
+
# @example
|
49
|
+
# Mac.new("11:22:33:44:55:66").to_int #=> 18838586676582
|
40
50
|
#
|
41
|
-
def
|
42
|
-
|
43
|
-
when String
|
44
|
-
@value = create_from( value )
|
45
|
-
when Integer
|
46
|
-
@value = value
|
47
|
-
validate_value_range
|
48
|
-
when Mac
|
49
|
-
@value = create_from( value.to_s )
|
50
|
-
else
|
51
|
-
raise TypeError, "Invalid MAC address: #{ value.inspect }"
|
52
|
-
end
|
53
|
-
@string = string_format
|
51
|
+
def to_int
|
52
|
+
to_i
|
54
53
|
end
|
55
54
|
|
56
55
|
|
@@ -61,10 +60,19 @@ module Pio
|
|
61
60
|
# @example
|
62
61
|
# Mac.new(18838586676582).to_s #=> "11:22:33:44:55:66"
|
63
62
|
#
|
64
|
-
# @return [String] the Ethernet address in String format
|
65
|
-
#
|
66
63
|
def to_s
|
67
|
-
@
|
64
|
+
sprintf( "%012x", @value ).unpack( "a2" * 6 ).join( ":" )
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
#
|
69
|
+
# @see to_s
|
70
|
+
#
|
71
|
+
# @example
|
72
|
+
# Mac.new(18838586676582).to_str #=> "11:22:33:44:55:66"
|
73
|
+
#
|
74
|
+
def to_str
|
75
|
+
to_s
|
68
76
|
end
|
69
77
|
|
70
78
|
|
@@ -73,22 +81,35 @@ module Pio
|
|
73
81
|
# address string format.
|
74
82
|
#
|
75
83
|
# @example
|
76
|
-
# Mac.new("11:22:33:44:55:66").
|
77
|
-
#
|
78
|
-
# @return [Array] the Ethernet address in Array format
|
84
|
+
# Mac.new("11:22:33:44:55:66").to_a #=> [ 0x11, 0x22, 0x33, 0x44, 0x55, 0x66 ]
|
79
85
|
#
|
80
|
-
def
|
81
|
-
|
86
|
+
def to_a
|
87
|
+
to_s.split( ":" ).collect do | each |
|
82
88
|
each.hex
|
83
89
|
end
|
84
90
|
end
|
85
91
|
|
86
92
|
|
93
|
+
#
|
94
|
+
# @see to_a
|
95
|
+
#
|
96
|
+
# @example
|
97
|
+
# Mac.new("11:22:33:44:55:66").to_ary #=> [ 0x11, 0x22, 0x33, 0x44, 0x55, 0x66 ]
|
98
|
+
#
|
99
|
+
def to_ary
|
100
|
+
to_a
|
101
|
+
end
|
102
|
+
|
103
|
+
|
87
104
|
#
|
88
105
|
# @private
|
89
106
|
#
|
90
107
|
def == other
|
91
|
-
|
108
|
+
begin
|
109
|
+
to_i == Mac.new( other ).to_i
|
110
|
+
rescue
|
111
|
+
false
|
112
|
+
end
|
92
113
|
end
|
93
114
|
alias :eql? :==
|
94
115
|
|
@@ -100,10 +121,8 @@ module Pio
|
|
100
121
|
# Mac.new("01:00:00:00:00:00").multicast? #=> true
|
101
122
|
# Mac.new("00:00:00:00:00:00").multicast? #=> false
|
102
123
|
#
|
103
|
-
# @return [Boolean] whether the Ethernet address is multicast
|
104
|
-
#
|
105
124
|
def multicast?
|
106
|
-
|
125
|
+
to_a[ 0 ] & 1 == 1
|
107
126
|
end
|
108
127
|
|
109
128
|
|
@@ -113,10 +132,8 @@ module Pio
|
|
113
132
|
# @example
|
114
133
|
# Mac.new("ff:ff:ff:ff:ff:ff").broadcast? #=> true
|
115
134
|
#
|
116
|
-
# @return [Boolean] whether the Ethernet address is broadcast
|
117
|
-
#
|
118
135
|
def broadcast?
|
119
|
-
|
136
|
+
to_a.all? { | each | each == 0xff }
|
120
137
|
end
|
121
138
|
|
122
139
|
|
@@ -125,12 +142,12 @@ module Pio
|
|
125
142
|
################################################################################
|
126
143
|
|
127
144
|
|
128
|
-
def
|
145
|
+
def parse_mac_string mac
|
129
146
|
octet_regex = "[0-9a-fA-F][0-9a-fA-F]"
|
130
|
-
if /^(#{ octet_regex }:){5}(#{ octet_regex })$/=~
|
131
|
-
|
147
|
+
if /^(#{ octet_regex }:){5}(#{ octet_regex })$/=~ mac
|
148
|
+
mac.gsub( ":", "" ).hex
|
132
149
|
else
|
133
|
-
raise ArgumentError, %{Invalid MAC address: "#{
|
150
|
+
raise ArgumentError, %{Invalid MAC address: "#{ mac }"}
|
134
151
|
end
|
135
152
|
end
|
136
153
|
|
@@ -140,11 +157,6 @@ module Pio
|
|
140
157
|
raise ArgumentError, "Invalid MAC address: #{ @value }"
|
141
158
|
end
|
142
159
|
end
|
143
|
-
|
144
|
-
|
145
|
-
def string_format
|
146
|
-
sprintf( "%012x", @value ).unpack( "a2" * 6 ).join( ":" )
|
147
|
-
end
|
148
160
|
end
|
149
161
|
end
|
150
162
|
|
data/lib/pio/version.rb
CHANGED
data/pio.org
CHANGED
@@ -36,6 +36,20 @@ http://www.zeespencer.com/articles/building-a-remote-pairing-setup/
|
|
36
36
|
[2013-09-22 日 23:09]
|
37
37
|
|
38
38
|
http:///www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/icmpheaders.html
|
39
|
+
** [[http://www.ruby-forum.com/topic/217963][any good tools for reading networking data with optional TLV - Ruby Forum]] [2013-06-21 Fri]
|
40
|
+
:PROPERTIES:
|
41
|
+
:ID: 1670C09A-20C7-45F9-B068-56376DFD864C
|
42
|
+
:END:
|
43
|
+
BinData での optional TLV の使い方
|
44
|
+
|
45
|
+
** Trema/Pioでパケットを作ろう(1) :NOTE:
|
46
|
+
[2013-10-06 日 15:55]
|
47
|
+
|
48
|
+
http://d.hatena.ne.jp/stereocat/20131005/1380977633
|
49
|
+
** Trema/Pioでパケットを作ろう(2) :NOTE:
|
50
|
+
[2013-10-06 日 15:55]
|
51
|
+
|
52
|
+
http://d.hatena.ne.jp/stereocat/20131006/1381028321
|
39
53
|
* Tasks
|
40
54
|
このアイテムをそれぞれのリリースに割り振る。
|
41
55
|
** NEXT git パスワードを省略できるように
|
@@ -48,6 +62,18 @@ http:///www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/icmpheaders.html
|
|
48
62
|
[2013-09-18 水 12:01]
|
49
63
|
** TODO phost を Pio で書き直す
|
50
64
|
[2013-09-24 火 15:36]
|
65
|
+
** TODO DHCP パーサを作る
|
66
|
+
[2013-08-02 金 17:17]
|
67
|
+
|
68
|
+
近藤さんがすでにコーディング中。Pull-Request が来たらいっしょにリファ
|
69
|
+
クタリングして取り込む予定。
|
70
|
+
** TODO おかしな MAC アドレスはすべて InvalidMAC 例外にまとめる
|
71
|
+
:LOGBOOK:
|
72
|
+
CLOCK: [2013-10-07 月 10:22]--[2013-10-07 月 10:23] => 0:01
|
73
|
+
:END:
|
74
|
+
[2013-10-07 月 10:22]
|
75
|
+
|
76
|
+
ファイルは lib/pio/mac.rb
|
51
77
|
* Releases
|
52
78
|
** DONE 0.2.2 リリース
|
53
79
|
CLOSED: [2013-09-26 木 15:34]
|
@@ -85,11 +111,60 @@ CLOSED: [2013-09-26 木 15:35]
|
|
85
111
|
*** DONE Trema への組込み
|
86
112
|
CLOSED: [2013-09-26 木 15:35]
|
87
113
|
[2013-09-26 木 15:35]
|
88
|
-
|
114
|
+
*** DONE gem の命名規則に合わせる
|
115
|
+
CLOSED: [2013-09-26 木 08:28] SCHEDULED: <2013-09-26 木>
|
116
|
+
:LOGBOOK:
|
117
|
+
CLOCK: [2013-09-26 木 08:20]--[2013-09-26 木 08:28] => 0:08
|
118
|
+
CLOCK: [2013-09-26 木 08:05]--[2013-09-26 木 08:06] => 0:01
|
119
|
+
:END:
|
120
|
+
:PROPERTIES:
|
121
|
+
:Effort: 0:30
|
122
|
+
:END:
|
123
|
+
[2013-09-26 木 08:05]
|
124
|
+
*** DONE 明示的に spec_helper.rb をロードしてる部分をなくす
|
125
|
+
CLOSED: [2013-09-26 木 08:18] SCHEDULED: <2013-09-26 木>
|
126
|
+
:LOGBOOK:
|
127
|
+
CLOCK: [2013-09-26 木 08:14]--[2013-09-26 木 08:15] => 0:01
|
128
|
+
:END:
|
129
|
+
:PROPERTIES:
|
130
|
+
:Effort: 0:30
|
131
|
+
:END:
|
132
|
+
[2013-09-26 木 08:14]
|
133
|
+
** DONE 0.2.5 リリース
|
134
|
+
CLOSED: [2013-10-10 木 15:00]
|
89
135
|
:LOGBOOK:
|
90
136
|
CLOCK: [2013-09-26 木 13:31]--[2013-09-26 木 13:32] => 0:01
|
91
137
|
:END:
|
92
138
|
[2013-09-26 木 13:31]
|
139
|
+
*** DONE Trema::Mac を Pio::Mac で置き換え
|
140
|
+
CLOSED: [2013-10-10 木 14:57] SCHEDULED: <2013-10-10 木>
|
141
|
+
:LOGBOOK:
|
142
|
+
CLOCK: [2013-10-10 木 11:38]--[2013-10-10 木 13:30] => 1:52
|
143
|
+
:END:
|
144
|
+
[2013-10-03 木 09:04]
|
145
|
+
**** DONE Trema ソースコード内の Trema::Mac を Pio::Mac で置換
|
146
|
+
CLOSED: [2013-10-10 木 13:42]
|
147
|
+
[2013-10-03 木 09:05]
|
148
|
+
**** DONE Trema::Mac のテストコードを削除
|
149
|
+
CLOSED: [2013-10-10 木 13:42]
|
150
|
+
:LOGBOOK:
|
151
|
+
CLOCK: [2013-10-03 木 09:06]--[2013-10-03 木 09:07] => 0:01
|
152
|
+
:END:
|
153
|
+
[2013-10-03 木 09:06]
|
154
|
+
**** DONE cruise.rb が通ることを確認
|
155
|
+
CLOSED: [2013-10-10 木 14:57]
|
156
|
+
[2013-10-03 木 09:08]
|
157
|
+
*** DONE Pio::Mac のYARD コメントでダブってるやつは @see にする
|
158
|
+
CLOSED: [2013-10-10 木 13:37] SCHEDULED: <2013-10-10 木>
|
159
|
+
:LOGBOOK:
|
160
|
+
CLOCK: [2013-10-10 木 13:30]--[2013-10-10 木 13:37] => 0:07
|
161
|
+
CLOCK: [2013-10-07 月 10:23]--[2013-10-07 月 10:24] => 0:01
|
162
|
+
:END:
|
163
|
+
[2013-10-07 月 10:23]
|
164
|
+
|
165
|
+
=#to_a= と =#to_ary= のコメントとか.
|
166
|
+
** TODO 0.2.6 リリース
|
167
|
+
[2013-10-10 木 13:37]
|
93
168
|
*** TODO 鈴木さんルータの ARP 部分を Pio で書き直してもらう
|
94
169
|
- State "TODO" from "WAITING" [2013-09-19 木 14:18]
|
95
170
|
- State "WAITING" from "TODO" [2013-09-18 水 12:04] \\
|
@@ -100,24 +175,26 @@ CLOCK: [2013-09-14 土 10:20]--[2013-09-14 土 10:21] => 0:01
|
|
100
175
|
[2013-09-14 土 10:20]
|
101
176
|
|
102
177
|
GitHub のチケットはこちら:
|
178
|
+
https://github.com/trema/pio/issues/1
|
179
|
+
**** NEXT 鈴木さんルータの ARP 部分を試しに自分で書き直してみる
|
180
|
+
SCHEDULED: <2013-10-04 金>
|
181
|
+
:PROPERTIES:
|
182
|
+
:Effort: 1:00
|
183
|
+
:END:
|
184
|
+
[2013-10-04 金 08:39]
|
185
|
+
**** DONE 鈴木さんに ping
|
186
|
+
CLOSED: [2013-10-01 火 12:29] SCHEDULED: <2013-10-01 火>
|
187
|
+
:LOGBOOK:
|
188
|
+
CLOCK: [2013-09-29 日 21:06]--[2013-09-29 日 21:07] => 0:01
|
189
|
+
:END:
|
190
|
+
[2013-09-29 日 21:06]
|
191
|
+
|
103
192
|
https://github.com/trema/pio/issues/1
|
104
193
|
** TODO 0.3.0 リリース
|
105
194
|
- State "TODO" from "WAITING" [2013-09-19 木 14:16]
|
106
195
|
- State "WAITING" from "TODO" [2013-09-06 金 17:17] \\
|
107
196
|
0.2.0 が無事に出てから
|
108
197
|
[2013-09-05 木 17:29]
|
109
|
-
*** TODO ICMP パーサを作る
|
110
|
-
[2013-08-02 金 17:19]
|
111
|
-
*** DONE gem の命名規則に合わせる
|
112
|
-
CLOSED: [2013-09-26 木 08:28] SCHEDULED: <2013-09-26 木>
|
113
|
-
:LOGBOOK:
|
114
|
-
CLOCK: [2013-09-26 木 08:20]--[2013-09-26 木 08:28] => 0:08
|
115
|
-
CLOCK: [2013-09-26 木 08:05]--[2013-09-26 木 08:06] => 0:01
|
116
|
-
:END:
|
117
|
-
:PROPERTIES:
|
118
|
-
:Effort: 0:30
|
119
|
-
:END:
|
120
|
-
[2013-09-26 木 08:05]
|
121
198
|
*** NEXT YARD の警告をつぶす
|
122
199
|
SCHEDULED: <2014-08-19 火>
|
123
200
|
:PROPERTIES:
|
@@ -129,21 +206,15 @@ SCHEDULED: <2014-08-19 火>
|
|
129
206
|
CLOCK: [2013-09-18 水 17:20]--[2013-09-18 水 17:21] => 0:01
|
130
207
|
:END:
|
131
208
|
[2013-09-18 水 17:20]
|
132
|
-
***
|
133
|
-
|
209
|
+
*** TODO ICMP パーサを作る
|
210
|
+
[2013-08-02 金 17:19]
|
211
|
+
**** WAITING 近藤さんに PR 出してもらう :WAITING:
|
212
|
+
- State "WAITING" from "TODO" [2013-10-07 月 08:56] \\
|
213
|
+
近藤さんが PR の準備中.
|
134
214
|
:LOGBOOK:
|
135
|
-
CLOCK: [2013-
|
136
|
-
:END:
|
137
|
-
:PROPERTIES:
|
138
|
-
:Effort: 0:30
|
215
|
+
CLOCK: [2013-10-03 木 09:10]--[2013-10-03 木 09:12] => 0:02
|
139
216
|
:END:
|
140
|
-
[2013-
|
141
|
-
** WAITING 0.4.0 リリース :WAITING:
|
142
|
-
- State "WAITING" from "TODO" [2013-09-06 金 17:18] \\
|
143
|
-
0.3.0 が無事に出てから。
|
144
|
-
[2013-09-06 金 16:30]
|
145
|
-
*** TODO DHCP パーサを作る
|
146
|
-
[2013-08-02 金 17:17]
|
217
|
+
[2013-10-03 木 09:10]
|
147
218
|
|
148
|
-
|
149
|
-
|
219
|
+
開発は PR で追跡することにする.マージが可能な状態かとか,テスト成功/失
|
220
|
+
敗も見えるし.
|
data/pio.org_archive
CHANGED
@@ -838,3 +838,20 @@ CLOSED: [2013-09-13 金 14:05] SCHEDULED: <2013-09-13 金>
|
|
838
838
|
CLOCK: [2013-09-13 金 13:28]--[2013-09-13 金 14:05] => 0:37
|
839
839
|
:END:
|
840
840
|
[2013-09-13 金 13:28]
|
841
|
+
|
842
|
+
* Archived Tasks
|
843
|
+
|
844
|
+
** CANCELED Pio::Mac を Trema に組込む
|
845
|
+
CLOSED: [2013-10-10 木 13:41] SCHEDULED: <2013-10-04 金>
|
846
|
+
- State "CANCELED" from "NEXT" [2013-10-10 木 13:41] \\
|
847
|
+
ダブってたのでキャンセル
|
848
|
+
:PROPERTIES:
|
849
|
+
:Effort: 0:30
|
850
|
+
:ARCHIVE_TIME: 2013-10-10 木 13:41
|
851
|
+
:ARCHIVE_FILE: ~/play/pio/pio.org
|
852
|
+
:ARCHIVE_OLPATH: Releases/0.2.5 リリース
|
853
|
+
:ARCHIVE_CATEGORY: pio
|
854
|
+
:ARCHIVE_TODO: CANCELED
|
855
|
+
:ARCHIVE_ITAGS: PIO
|
856
|
+
:END:
|
857
|
+
[2013-10-04 金 08:46]
|
data/spec/pio/mac_spec.rb
CHANGED
@@ -10,8 +10,8 @@ module Pio
|
|
10
10
|
context %{with "11:22:33:44:55:66"} do
|
11
11
|
let( :value ) { "11:22:33:44:55:66" }
|
12
12
|
it { should eq Mac.new( "11:22:33:44:55:66" ) }
|
13
|
-
its( :
|
14
|
-
its( :
|
13
|
+
its( :to_int ) { should eq 0x112233445566 }
|
14
|
+
its( :to_str ) { should eq "11:22:33:44:55:66" }
|
15
15
|
its( :to_ary ) { should eq [ 0x11, 0x22, 0x33, 0x44, 0x55, 0x66 ] }
|
16
16
|
its( :multicast? ){ should be_true }
|
17
17
|
its( :broadcast? ){ should be_false }
|
@@ -21,8 +21,8 @@ module Pio
|
|
21
21
|
context "with 0" do
|
22
22
|
let( :value ) { 0 }
|
23
23
|
it { should eq Mac.new( 0 ) }
|
24
|
-
its( :
|
25
|
-
its( :
|
24
|
+
its( :to_int ) { should eq 0 }
|
25
|
+
its( :to_str ) { should eq "00:00:00:00:00:00" }
|
26
26
|
its( :to_ary ) { should eq [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] }
|
27
27
|
its( :multicast? ){ should be_false }
|
28
28
|
its( :broadcast? ){ should be_false }
|
@@ -32,8 +32,8 @@ module Pio
|
|
32
32
|
context "with 0xffffffffffff" do
|
33
33
|
let( :value ) { 0xffffffffffff }
|
34
34
|
it { should eq Mac.new( 0xffffffffffff ) }
|
35
|
-
its( :
|
36
|
-
its( :
|
35
|
+
its( :to_int ) { should eq 0xffffffffffff }
|
36
|
+
its( :to_str ) { should eq "ff:ff:ff:ff:ff:ff" }
|
37
37
|
its( :to_ary ) { should eq [ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff ] }
|
38
38
|
its( :multicast? ){ should be_true }
|
39
39
|
its( :broadcast? ){ should be_true }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yasuhito Takamiya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bindata
|