dumb_numb_set 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|