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 CHANGED
@@ -1,4 +1,6 @@
1
1
  = Version 0.1.0
2
2
  * Gem existence started
3
3
  = Version 0.1.1
4
- * table_exists? fix
4
+ * table_exists? fix
5
+ = Version 0.1.2
6
+ * Fix for assigning same parent - should not change order
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.1') do |p|
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"
@@ -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.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-11-06}
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}]
@@ -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}=".to_sym) do |new_parent|
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 uor node (or do nothing)
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.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-11-06 00:00:00.000000000Z
12
+ date: 2011-12-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &26845980 !ruby/object:Gem::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: *26845980
24
+ version_requirements: *10839320
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: active_record
27
- requirement: &26845540 !ruby/object:Gem::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: *26845540
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