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.
Files changed (2) hide show
  1. data/lib/dumb_numb_set.rb +21 -0
  2. metadata +2 -2
@@ -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.1
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-06-13 00:00:00.000000000 Z
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