acts_as_list 0.1.3 → 0.1.4
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/acts_as_list.gemspec +3 -3
- data/lib/acts_as_list/version.rb +1 -1
- data/test/helper.rb +0 -3
- data/test/test_list.rb +45 -54
- metadata +5 -5
data/acts_as_list.gemspec
CHANGED
@@ -21,11 +21,11 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
22
22
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
23
23
|
s.require_paths = ['lib']
|
24
|
-
|
25
|
-
|
24
|
+
|
25
|
+
|
26
26
|
# Dependencies (installed via 'bundle install')...
|
27
27
|
s.add_development_dependency("bundler", ["~> 1.0.0"])
|
28
28
|
s.add_development_dependency("activerecord", [">= 1.15.4.7794"])
|
29
29
|
s.add_development_dependency("rdoc")
|
30
|
-
s.add_development_dependency("sqlite3
|
30
|
+
s.add_development_dependency("sqlite3")
|
31
31
|
end
|
data/lib/acts_as_list/version.rb
CHANGED
data/test/helper.rb
CHANGED
data/test/test_list.rb
CHANGED
@@ -1,12 +1,6 @@
|
|
1
1
|
# NOTE: following now done in helper.rb (better Readability)
|
2
|
-
#require 'test/unit'
|
3
|
-
#require 'rubygems'
|
4
|
-
#gem 'activerecord', '>= 1.15.4.7794'
|
5
|
-
#require 'active_record'
|
6
|
-
#require "#{File.dirname(__FILE__)}/../init"
|
7
2
|
require 'helper.rb'
|
8
3
|
|
9
|
-
|
10
4
|
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
11
5
|
|
12
6
|
def setup_db
|
@@ -15,7 +9,7 @@ def setup_db
|
|
15
9
|
t.column :pos, :integer
|
16
10
|
t.column :parent_id, :integer
|
17
11
|
t.column :parent_type, :string
|
18
|
-
t.column :created_at, :datetime
|
12
|
+
t.column :created_at, :datetime
|
19
13
|
t.column :updated_at, :datetime
|
20
14
|
end
|
21
15
|
end
|
@@ -98,7 +92,6 @@ class ZeroBasedTest < Test::Unit::TestCase
|
|
98
92
|
assert new.last?
|
99
93
|
end
|
100
94
|
|
101
|
-
|
102
95
|
def test_reordering
|
103
96
|
assert_equal [1, 2, 3, 4], ZeroBasedMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
104
97
|
|
@@ -300,49 +293,49 @@ class ListTest < Test::Unit::TestCase
|
|
300
293
|
assert_equal [new2, new1, new3], ListMixin.find(:all, :conditions => 'parent_id IS NULL', :order => 'pos')
|
301
294
|
end
|
302
295
|
|
303
|
-
def test_remove_from_list_should_then_fail_in_list?
|
296
|
+
def test_remove_from_list_should_then_fail_in_list?
|
304
297
|
assert_equal true, ListMixin.find(1).in_list?
|
305
298
|
ListMixin.find(1).remove_from_list
|
306
299
|
assert_equal false, ListMixin.find(1).in_list?
|
307
|
-
end
|
308
|
-
|
309
|
-
def test_remove_from_list_should_set_position_to_nil
|
300
|
+
end
|
301
|
+
|
302
|
+
def test_remove_from_list_should_set_position_to_nil
|
310
303
|
assert_equal [1, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
311
|
-
|
312
|
-
ListMixin.find(2).remove_from_list
|
313
|
-
|
304
|
+
|
305
|
+
ListMixin.find(2).remove_from_list
|
306
|
+
|
314
307
|
assert_equal [2, 1, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
315
|
-
|
308
|
+
|
316
309
|
assert_equal 1, ListMixin.find(1).pos
|
317
310
|
assert_equal nil, ListMixin.find(2).pos
|
318
311
|
assert_equal 2, ListMixin.find(3).pos
|
319
312
|
assert_equal 3, ListMixin.find(4).pos
|
320
|
-
end
|
321
|
-
|
322
|
-
def test_remove_before_destroy_does_not_shift_lower_items_twice
|
313
|
+
end
|
314
|
+
|
315
|
+
def test_remove_before_destroy_does_not_shift_lower_items_twice
|
323
316
|
assert_equal [1, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
324
|
-
|
325
|
-
ListMixin.find(2).remove_from_list
|
326
|
-
ListMixin.find(2).destroy
|
327
|
-
|
317
|
+
|
318
|
+
ListMixin.find(2).remove_from_list
|
319
|
+
ListMixin.find(2).destroy
|
320
|
+
|
328
321
|
assert_equal [1, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
329
|
-
|
322
|
+
|
330
323
|
assert_equal 1, ListMixin.find(1).pos
|
331
324
|
assert_equal 2, ListMixin.find(3).pos
|
332
325
|
assert_equal 3, ListMixin.find(4).pos
|
333
|
-
end
|
334
|
-
|
326
|
+
end
|
327
|
+
|
335
328
|
def test_before_destroy_callbacks_do_not_update_position_to_nil_before_deleting_the_record
|
336
329
|
assert_equal [1, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
337
330
|
|
338
331
|
# We need to trigger all the before_destroy callbacks without actually
|
339
332
|
# destroying the record so we can see the affect the callbacks have on
|
340
|
-
# the record.
|
333
|
+
# the record.
|
341
334
|
# NOTE: Hotfix for rails3 ActiveRecord
|
342
335
|
list = ListMixin.find(2)
|
343
336
|
if list.respond_to?(:run_callbacks)
|
344
337
|
# Refactored to work according to Rails3 ActiveRSupport Callbacks <http://api.rubyonrails.org/classes/ActiveSupport/Callbacks.html>
|
345
|
-
list.run_callbacks :destroy, :before if rails_3
|
338
|
+
list.run_callbacks :destroy, :before if rails_3
|
346
339
|
list.run_callbacks(:before_destroy) if !rails_3
|
347
340
|
else
|
348
341
|
list.send(:callback, :before_destroy)
|
@@ -355,7 +348,7 @@ class ListTest < Test::Unit::TestCase
|
|
355
348
|
assert_equal 2, ListMixin.find(3).pos
|
356
349
|
assert_equal 3, ListMixin.find(4).pos
|
357
350
|
end
|
358
|
-
|
351
|
+
|
359
352
|
def test_before_create_callback_adds_to_bottom
|
360
353
|
assert_equal [1, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
361
354
|
|
@@ -363,9 +356,9 @@ class ListTest < Test::Unit::TestCase
|
|
363
356
|
assert_equal 5, new.pos
|
364
357
|
assert !new.first?
|
365
358
|
assert new.last?
|
366
|
-
|
359
|
+
|
367
360
|
assert_equal [1, 2, 3, 4, 5], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
368
|
-
end
|
361
|
+
end
|
369
362
|
|
370
363
|
def test_before_create_callback_adds_to_given_position
|
371
364
|
assert_equal [1, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
@@ -374,7 +367,7 @@ class ListTest < Test::Unit::TestCase
|
|
374
367
|
assert_equal 1, new.pos
|
375
368
|
assert new.first?
|
376
369
|
assert !new.last?
|
377
|
-
|
370
|
+
|
378
371
|
assert_equal [5, 1, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
379
372
|
|
380
373
|
new = ListMixin.create(:pos => 3, :parent_id => 5)
|
@@ -383,8 +376,7 @@ class ListTest < Test::Unit::TestCase
|
|
383
376
|
assert !new.last?
|
384
377
|
|
385
378
|
assert_equal [5, 1, 6, 2, 3, 4], ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos').map(&:id)
|
386
|
-
end
|
387
|
-
|
379
|
+
end
|
388
380
|
end
|
389
381
|
|
390
382
|
class ListSubTest < Test::Unit::TestCase
|
@@ -622,38 +614,37 @@ class ArrayScopeListTest < Test::Unit::TestCase
|
|
622
614
|
assert_equal 1, ArrayScopeListMixin.find(3).pos
|
623
615
|
assert_equal 2, ArrayScopeListMixin.find(4).pos
|
624
616
|
end
|
625
|
-
|
626
|
-
def test_remove_from_list_should_then_fail_in_list?
|
617
|
+
|
618
|
+
def test_remove_from_list_should_then_fail_in_list?
|
627
619
|
assert_equal true, ArrayScopeListMixin.find(1).in_list?
|
628
620
|
ArrayScopeListMixin.find(1).remove_from_list
|
629
621
|
assert_equal false, ArrayScopeListMixin.find(1).in_list?
|
630
|
-
end
|
631
|
-
|
632
|
-
def test_remove_from_list_should_set_position_to_nil
|
622
|
+
end
|
623
|
+
|
624
|
+
def test_remove_from_list_should_set_position_to_nil
|
633
625
|
assert_equal [1, 2, 3, 4], ArrayScopeListMixin.find(:all, :conditions => "parent_id = 5 AND parent_type = 'ParentClass'", :order => 'pos').map(&:id)
|
634
|
-
|
635
|
-
ArrayScopeListMixin.find(2).remove_from_list
|
636
|
-
|
626
|
+
|
627
|
+
ArrayScopeListMixin.find(2).remove_from_list
|
628
|
+
|
637
629
|
assert_equal [2, 1, 3, 4], ArrayScopeListMixin.find(:all, :conditions => "parent_id = 5 AND parent_type = 'ParentClass'", :order => 'pos').map(&:id)
|
638
|
-
|
630
|
+
|
639
631
|
assert_equal 1, ArrayScopeListMixin.find(1).pos
|
640
632
|
assert_equal nil, ArrayScopeListMixin.find(2).pos
|
641
633
|
assert_equal 2, ArrayScopeListMixin.find(3).pos
|
642
634
|
assert_equal 3, ArrayScopeListMixin.find(4).pos
|
643
|
-
end
|
644
|
-
|
645
|
-
def test_remove_before_destroy_does_not_shift_lower_items_twice
|
635
|
+
end
|
636
|
+
|
637
|
+
def test_remove_before_destroy_does_not_shift_lower_items_twice
|
646
638
|
assert_equal [1, 2, 3, 4], ArrayScopeListMixin.find(:all, :conditions => "parent_id = 5 AND parent_type = 'ParentClass'", :order => 'pos').map(&:id)
|
647
|
-
|
648
|
-
ArrayScopeListMixin.find(2).remove_from_list
|
649
|
-
ArrayScopeListMixin.find(2).destroy
|
650
|
-
|
639
|
+
|
640
|
+
ArrayScopeListMixin.find(2).remove_from_list
|
641
|
+
ArrayScopeListMixin.find(2).destroy
|
642
|
+
|
651
643
|
assert_equal [1, 3, 4], ArrayScopeListMixin.find(:all, :conditions => "parent_id = 5 AND parent_type = 'ParentClass'", :order => 'pos').map(&:id)
|
652
|
-
|
644
|
+
|
653
645
|
assert_equal 1, ArrayScopeListMixin.find(1).pos
|
654
646
|
assert_equal 2, ArrayScopeListMixin.find(3).pos
|
655
647
|
assert_equal 3, ArrayScopeListMixin.find(4).pos
|
656
|
-
end
|
657
|
-
|
658
|
-
end
|
648
|
+
end
|
659
649
|
|
650
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_list
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- David Heinemeier Hansson
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-
|
20
|
+
date: 2011-07-27 00:00:00 +05:30
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
type: :development
|
69
69
|
version_requirements: *id003
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name: sqlite3
|
71
|
+
name: sqlite3
|
72
72
|
prerelease: false
|
73
73
|
requirement: &id004 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|