liszt 0.0.6 → 0.0.7

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