liszt 0.0.6 → 0.0.7
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.
- data/Gemfile.lock +2 -2
- data/lib/liszt.rb +19 -8
- data/lib/liszt/version.rb +1 -1
- metadata +37 -11
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
liszt (0.0.
|
4
|
+
liszt (0.0.7)
|
5
5
|
rails (>= 2.3.2)
|
6
6
|
redis
|
7
7
|
|
@@ -77,7 +77,7 @@ GEM
|
|
77
77
|
rake (0.9.2)
|
78
78
|
rdiscount (1.6.8)
|
79
79
|
rdoc (3.9.4)
|
80
|
-
redis (
|
80
|
+
redis (3.0.1)
|
81
81
|
shoulda-context (1.0.0.beta1)
|
82
82
|
sprockets (2.0.0)
|
83
83
|
hike (~> 1.2)
|
data/lib/liszt.rb
CHANGED
@@ -38,9 +38,16 @@ module Liszt
|
|
38
38
|
@liszt_scope = Array(options[:scope]).sort_by(&:to_s)
|
39
39
|
@liszt_query = nil
|
40
40
|
@liszt_sort_by = options[:sort_by]
|
41
|
+
@liszt_append_new_items = options[:append_new_items]
|
41
42
|
end
|
42
43
|
|
43
44
|
module ClassMethods
|
45
|
+
def self.extended(base)
|
46
|
+
class << base
|
47
|
+
attr_reader :liszt_sort_by, :liszt_append_new_items
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
44
51
|
def initialize_list!(obj={}, &block)
|
45
52
|
objects = find(:all, :conditions => liszt_query(obj))
|
46
53
|
|
@@ -156,11 +163,15 @@ module Liszt
|
|
156
163
|
def add_to_list
|
157
164
|
if ordered_list_initialized?
|
158
165
|
if meets_list_conditions?
|
159
|
-
|
166
|
+
if self.class.liszt_append_new_items
|
167
|
+
ordered_list.push id
|
168
|
+
else
|
169
|
+
ordered_list.unshift id
|
170
|
+
end
|
160
171
|
end
|
161
172
|
else
|
162
|
-
if
|
163
|
-
initialize_list!
|
173
|
+
if self.class.liszt_sort_by
|
174
|
+
initialize_list! &self.class.liszt_sort_by
|
164
175
|
else
|
165
176
|
initialize_list!
|
166
177
|
end
|
@@ -178,24 +189,24 @@ module Liszt
|
|
178
189
|
end
|
179
190
|
|
180
191
|
def remove_from_list
|
181
|
-
ordered_list.remove
|
192
|
+
ordered_list.remove id
|
182
193
|
true
|
183
194
|
end
|
184
195
|
|
185
196
|
def move_to_top!
|
186
|
-
ordered_list.move_to_top
|
197
|
+
ordered_list.move_to_top id
|
187
198
|
end
|
188
199
|
|
189
200
|
def move_up!
|
190
|
-
ordered_list.move_up
|
201
|
+
ordered_list.move_up id
|
191
202
|
end
|
192
203
|
|
193
204
|
def move_down!
|
194
|
-
ordered_list.move_down
|
205
|
+
ordered_list.move_down id
|
195
206
|
end
|
196
207
|
|
197
208
|
def move_to_bottom!
|
198
|
-
ordered_list.move_to_bottom
|
209
|
+
ordered_list.move_to_bottom id
|
199
210
|
end
|
200
211
|
end
|
201
212
|
end
|
data/lib/liszt/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: liszt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-07-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 2.3.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.3.2
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: redis
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: yard
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rdiscount
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,7 +69,12 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
description: Liszt is an alternative to acts_as_list and sortable that uses atomic
|
59
79
|
Redis operations to maintain scoped ordering information for ActiveRecord objects.
|
60
80
|
email:
|
@@ -154,15 +174,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
154
174
|
- - ! '>='
|
155
175
|
- !ruby/object:Gem::Version
|
156
176
|
version: '0'
|
177
|
+
segments:
|
178
|
+
- 0
|
179
|
+
hash: -755035515866164015
|
157
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
181
|
none: false
|
159
182
|
requirements:
|
160
183
|
- - ! '>='
|
161
184
|
- !ruby/object:Gem::Version
|
162
185
|
version: '0'
|
186
|
+
segments:
|
187
|
+
- 0
|
188
|
+
hash: -755035515866164015
|
163
189
|
requirements: []
|
164
190
|
rubyforge_project:
|
165
|
-
rubygems_version: 1.8.
|
191
|
+
rubygems_version: 1.8.24
|
166
192
|
signing_key:
|
167
193
|
specification_version: 3
|
168
194
|
summary: ActiveRecord sorting using Redis lists
|