dumb_numb_set 0.0.1 → 0.0.2
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.
- data/lib/dumb_numb_set.rb +21 -0
- metadata +2 -2
data/lib/dumb_numb_set.rb
CHANGED
@@ -87,6 +87,8 @@ class DumbNumbSet
|
|
87
87
|
num
|
88
88
|
end
|
89
89
|
|
90
|
+
alias delete remove
|
91
|
+
|
90
92
|
# Returns true if the given number is in the set.
|
91
93
|
# Raises an ArgumentError if the number given is not a non-negative integer.
|
92
94
|
def include? num
|
@@ -125,3 +127,22 @@ class DumbNumbSet
|
|
125
127
|
end
|
126
128
|
end
|
127
129
|
end
|
130
|
+
|
131
|
+
# Custom marshal technique if MessagePack is available. Saves some bytes,
|
132
|
+
# especially with larger integers.
|
133
|
+
begin
|
134
|
+
require 'msgpack'
|
135
|
+
|
136
|
+
class DumbNumbSet
|
137
|
+
def marshal_dump
|
138
|
+
MessagePack.pack({:div => @div, :bitsets => @bitsets})
|
139
|
+
end
|
140
|
+
|
141
|
+
def marshal_load str
|
142
|
+
info = MessagePack.unpack(str)
|
143
|
+
@div = info["div"]
|
144
|
+
@bitsets = info["bitsets"]
|
145
|
+
end
|
146
|
+
end
|
147
|
+
rescue LoadError
|
148
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dumb_numb_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-18 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'Ever needed to compactly store and query a set of mostly consecutive,
|
15
15
|
|