acts_as_orderable 0.1.1 → 0.1.2
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/CHANGELOG.rdoc +3 -1
- data/Rakefile +1 -1
- data/acts_as_orderable.gemspec +2 -2
- data/lib/acts_as_orderable.rb +4 -3
- data/spec/acts_as_orderable_spec.rb +18 -1
- metadata +6 -6
data/CHANGELOG.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
require 'rake'
|
4
4
|
require 'echoe'
|
5
5
|
|
6
|
-
Echoe.new('acts_as_orderable', '0.1.
|
6
|
+
Echoe.new('acts_as_orderable', '0.1.2') do |p|
|
7
7
|
p.description = "Rails gem allowing ActiveRecord models to have order and to move them up and down"
|
8
8
|
p.url = "https://github.com/mensfeld/Acts-as-Orderable"
|
9
9
|
p.author = "Maciej Mensfeld"
|
data/acts_as_orderable.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{acts_as_orderable}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = [%q{Maciej Mensfeld}]
|
9
|
-
s.date = %q{2011-
|
9
|
+
s.date = %q{2011-12-08}
|
10
10
|
s.description = %q{Rails gem allowing ActiveRecord models to have order and to move them up and down}
|
11
11
|
s.email = %q{maciej@mensfeld.pl}
|
12
12
|
s.extra_rdoc_files = [%q{CHANGELOG.rdoc}, %q{README.md}, %q{lib/acts_as_orderable.rb}]
|
data/lib/acts_as_orderable.rb
CHANGED
@@ -35,10 +35,11 @@ module Acts
|
|
35
35
|
|
36
36
|
# Define methods for assigning new parent - when we change parent
|
37
37
|
# we need to be first or last element (according to new_el_pos)
|
38
|
-
self.send(:define_method, "#{parent_column}="
|
38
|
+
self.send(:define_method, :"#{parent_column}=") do |new_parent|
|
39
|
+
old_parent = self.send(:"#{parent_column}")
|
39
40
|
super new_parent
|
40
41
|
# If object exist (been saved and we're just changing its parent)
|
41
|
-
init_me! unless self.new_record?
|
42
|
+
init_me! unless self.new_record? || old_parent == new_parent
|
42
43
|
end if parent_column
|
43
44
|
end
|
44
45
|
end
|
@@ -108,7 +109,7 @@ module Acts
|
|
108
109
|
self.save
|
109
110
|
end
|
110
111
|
|
111
|
-
# Builds query part used to fetch only elements from
|
112
|
+
# Builds query part used to fetch only elements from your node (or do nothing)
|
112
113
|
def search_node_query(init_end = true)
|
113
114
|
p_c = self.class.parent_column
|
114
115
|
# If parent exists - fetch our parent_id and put it into query
|
@@ -121,7 +121,6 @@ describe CoolElement do
|
|
121
121
|
a.element_order.should be < d.element_order
|
122
122
|
end
|
123
123
|
end
|
124
|
-
|
125
124
|
end
|
126
125
|
|
127
126
|
describe CoolerElement do
|
@@ -312,4 +311,22 @@ describe WayCoolerElement do
|
|
312
311
|
end
|
313
312
|
end
|
314
313
|
|
314
|
+
context "when sending save root element" do
|
315
|
+
it "should not interfere with children order" do
|
316
|
+
a = subject.create
|
317
|
+
aa = a.children.create
|
318
|
+
ab = a.children.create
|
319
|
+
a.reload; aa.reload; ab.reload
|
320
|
+
|
321
|
+
olda = aa.element_order
|
322
|
+
oldb = ab.element_order
|
323
|
+
|
324
|
+
aa.update_attributes({:parent_id => aa.parent_id})
|
325
|
+
aa.reload
|
326
|
+
ab.reload
|
327
|
+
aa.element_order.should == olda
|
328
|
+
ab.element_order.should == oldb
|
329
|
+
end
|
330
|
+
end
|
331
|
+
|
315
332
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_orderable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
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-
|
12
|
+
date: 2011-12-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &10839320 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.0.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *10839320
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: active_record
|
27
|
-
requirement: &
|
27
|
+
requirement: &10838660 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *10838660
|
36
36
|
description: Rails gem allowing ActiveRecord models to have order and to move them
|
37
37
|
up and down
|
38
38
|
email: maciej@mensfeld.pl
|