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.
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