rewritten 0.6.0 → 0.7.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4bbca7b948eee5641bd22eb57aec66f65a2501fc
4
- data.tar.gz: 9eba6f5b82e869fef3c50a487f8ba0e60f793d3e
3
+ metadata.gz: 6b219a3b39bc494eb23d7768fd6de8fbab2b7933
4
+ data.tar.gz: 2f1ee10125acebf0d1b007e1d65a7f2b6648c6c7
5
5
  SHA512:
6
- metadata.gz: 7b0ab0e5fc9379e0ea051040a864fbdeb5f78662fa92f24d9d15bc3c933a78313518160f2e0c20cce80bfbe36d4ec62d3cb9bde81eb3bb24dfc4f31f6ea66331
7
- data.tar.gz: 4b237a6666a91216654ac7f894bce5882dbcf73274e8cc07b9ed237f2be64c9e987663ca2106fde7c783957c13706ac800f3e5fdf13b1065523538d80b796df3
6
+ metadata.gz: e15bbb18a1f5bf571c0846049ca57daba0ffd1665f7ee5d4035decbbb16389921abf28a9b6be4c9b03e6959a7e1bf9def345dce6f9402a00db00ffe057b3b8fb
7
+ data.tar.gz: 5e4bee52c3efef72088ca7ebd0326c7168cc17848b8c62bf2a4d4753363bbf0d0df28d4b9dc9e2b156e8d7cc966b0e058c9518f9ffbc05d5ab287bd524d25be7
data/HISTORY.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.7.0
2
+
3
+ * use sorted sets for the targets instead of lists
4
+
1
5
  == 0.6.0
2
6
 
3
7
  * backwards translations (from resource to current translation)
data/lib/rewritten.rb CHANGED
@@ -130,7 +130,10 @@ module Rewritten
130
130
  redis.set("from:#{from}", to)
131
131
  redis.sadd(:froms, from)
132
132
  redis.sadd(:tos, to)
133
- redis.rpush("to:#{to}", from)
133
+
134
+
135
+ score = redis.zcard("to:#{to}") || 0
136
+ redis.zadd("to:#{to}", score, from)
134
137
  end
135
138
 
136
139
  def add_translations(to, froms)
@@ -138,13 +141,13 @@ module Rewritten
138
141
  end
139
142
 
140
143
  def num_translations(to)
141
- Rewritten.redis.llen("to:#{to}")
144
+ Rewritten.redis.zcard("to:#{to}")
142
145
  end
143
146
 
144
147
  def remove_translation(from, to)
145
148
  Rewritten.redis.del("from:#{from}")
146
149
  Rewritten.redis.srem(:froms, from)
147
- Rewritten.redis.lrem("to:#{to}", 0, from)
150
+ Rewritten.redis.zrem("to:#{to}", from)
148
151
  Rewritten.redis.srem(:tos, to) if num_translations(to) == 0
149
152
  end
150
153
 
@@ -176,11 +179,11 @@ module Rewritten
176
179
  end
177
180
 
178
181
  def get_all_translations(to)
179
- Rewritten.redis.lrange("to:#{to}", 0, -1)
182
+ Rewritten.redis.zrange("to:#{to}", 0, -1)
180
183
  end
181
184
 
182
185
  def get_current_translation(path)
183
- translation = Rewritten.list_range("to:#{path}", -1)
186
+ translation = Rewritten.z_range("to:#{path}", -1)
184
187
  return translation if translation
185
188
  return path
186
189
  end
@@ -209,13 +212,11 @@ module Rewritten
209
212
 
210
213
  # Does the dirty work of fetching a range of items from a Redis list
211
214
  # and converting them into Ruby objects.
212
- def list_range(key, start = 0, count = 1)
215
+ def z_range(key, start = 0, count = 1)
213
216
  if count == 1
214
- #decode redis.lindex(key, start)
215
- redis.lindex(key, start)
217
+ redis.zrange(key, start, start)[0]
216
218
  else
217
- Array(redis.lrange(key, start, start+count-1)).map do |item|
218
- #decode item
219
+ Array(redis.zrange(key, start, start+count-1)).map do |item|
219
220
  item
220
221
  end
221
222
  end
@@ -201,6 +201,7 @@ module Rewritten
201
201
  # delete old translations
202
202
  Rewritten.remove_all_translations(@old_to)
203
203
  # create new translations
204
+
204
205
  Rewritten.add_translations(@to, @translations)
205
206
 
206
207
  redirect u("/to?to=#{escape(@to)}")
@@ -222,7 +223,8 @@ module Rewritten
222
223
  end
223
224
 
224
225
  get "/to" do
225
- translations = Rewritten.list_range(params[:to], 0, -1)
226
+ #translations = Rewritten.list_range(params[:to], 0, -1)
227
+ translations = Rewritten.z_range(params[:to], 0, -1)
226
228
  show "to"
227
229
  end
228
230
 
@@ -17,7 +17,7 @@
17
17
  <th>Action</th>
18
18
  </tr>
19
19
 
20
- <% for translation in Rewritten.list_range("to:#{params[:to]}", 0, 100) %>
20
+ <% for translation in Rewritten.z_range("to:#{params[:to]}", 0, 100) %>
21
21
  <tr>
22
22
  <td class=''><a href="<%= translation %>" target="new"><%= translation %></td>
23
23
  <td class=''>
@@ -1,4 +1,4 @@
1
1
  module Rewritten
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rewritten
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kai Rubarth