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.
Files changed (4) hide show
  1. data/Gemfile.lock +2 -2
  2. data/lib/liszt.rb +19 -8
  3. data/lib/liszt/version.rb +1 -1
  4. metadata +37 -11
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- liszt (0.0.5)
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 (2.2.2)
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
- ordered_list.unshift(self.id)
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 @liszt_sort_by
163
- initialize_list!(&@liszt_sort_by)
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(self.id)
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(self.id)
197
+ ordered_list.move_to_top id
187
198
  end
188
199
 
189
200
  def move_up!
190
- ordered_list.move_up(self.id)
201
+ ordered_list.move_up id
191
202
  end
192
203
 
193
204
  def move_down!
194
- ordered_list.move_down(self.id)
205
+ ordered_list.move_down id
195
206
  end
196
207
 
197
208
  def move_to_bottom!
198
- ordered_list.move_to_bottom(self.id)
209
+ ordered_list.move_to_bottom id
199
210
  end
200
211
  end
201
212
  end
data/lib/liszt/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Liszt
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
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.6
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: 2011-11-29 00:00:00.000000000Z
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: &70173688465480 !ruby/object:Gem::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: *70173688465480
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: &70173688464980 !ruby/object:Gem::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: *70173688464980
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: &70173688464460 !ruby/object:Gem::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: *70173688464460
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: &70173688463880 !ruby/object:Gem::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: *70173688463880
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.11
191
+ rubygems_version: 1.8.24
166
192
  signing_key:
167
193
  specification_version: 3
168
194
  summary: ActiveRecord sorting using Redis lists