sortifiable 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +5 -0
- data/lib/sortifiable/version.rb +1 -1
- data/lib/sortifiable.rb +1 -1
- data/test/sortifiable_test.rb +50 -0
- metadata +3 -3
data/CHANGELOG
CHANGED
data/lib/sortifiable/version.rb
CHANGED
data/lib/sortifiable.rb
CHANGED
@@ -58,7 +58,7 @@ module Sortifiable
|
|
58
58
|
reflection.options[:foreign_type].to_sym
|
59
59
|
]
|
60
60
|
else
|
61
|
-
reflection.association_foreign_key.to_sym
|
61
|
+
options[:scope] = reflection.association_foreign_key.to_sym
|
62
62
|
end
|
63
63
|
else
|
64
64
|
raise ArgumentError, "Only belongs_to associations can be used as a scope"
|
data/test/sortifiable_test.rb
CHANGED
@@ -55,6 +55,20 @@ class ArrayScopeListMixin < ActiveRecord::Base
|
|
55
55
|
default_scope order(:pos)
|
56
56
|
end
|
57
57
|
|
58
|
+
class AssociationScopeListMixin < ActiveRecord::Base
|
59
|
+
belongs_to :parent
|
60
|
+
acts_as_list :column => "pos", :scope => :parent
|
61
|
+
set_table_name "mixins"
|
62
|
+
default_scope order(:pos)
|
63
|
+
end
|
64
|
+
|
65
|
+
class PolymorphicAssociationScopeListMixin < ActiveRecord::Base
|
66
|
+
belongs_to :parent, :polymorphic => true
|
67
|
+
acts_as_list :column => "pos", :scope => :parent
|
68
|
+
set_table_name "mixins"
|
69
|
+
default_scope order(:pos)
|
70
|
+
end
|
71
|
+
|
58
72
|
teardown_db
|
59
73
|
|
60
74
|
class NonListTest < Test::Unit::TestCase
|
@@ -603,3 +617,39 @@ class ArrayScopeListTest < Test::Unit::TestCase
|
|
603
617
|
end
|
604
618
|
|
605
619
|
end
|
620
|
+
|
621
|
+
class AssociationScopeListTest < Test::Unit::TestCase
|
622
|
+
|
623
|
+
def setup
|
624
|
+
setup_db
|
625
|
+
(1..4).each do |counter|
|
626
|
+
AssociationScopeListMixin.create!(
|
627
|
+
:pos => counter,
|
628
|
+
:parent_id => 5
|
629
|
+
)
|
630
|
+
end
|
631
|
+
|
632
|
+
(1..4).each do |counter|
|
633
|
+
PolymorphicAssociationScopeListMixin.create!(
|
634
|
+
:pos => counter,
|
635
|
+
:parent_id => 5,
|
636
|
+
:parent_type => 'ParentClass'
|
637
|
+
)
|
638
|
+
end
|
639
|
+
end
|
640
|
+
|
641
|
+
def teardown
|
642
|
+
teardown_db
|
643
|
+
end
|
644
|
+
|
645
|
+
def test_association_scope_is_configured
|
646
|
+
assert_equal :parent_id,
|
647
|
+
AssociationScopeListMixin.acts_as_list_options[:scope]
|
648
|
+
end
|
649
|
+
|
650
|
+
def test_polymorphic_association_scope_is_configured
|
651
|
+
assert_equal [:parent_id, :parent_type],
|
652
|
+
PolymorphicAssociationScopeListMixin.acts_as_list_options[:scope]
|
653
|
+
end
|
654
|
+
|
655
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sortifiable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew White
|