rewritten 0.6.0 → 0.7.0

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