acts_as_orderable 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.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