##// END OF EJS Templates
Makes Version#<=> consistent with SQL sort....
Jean-Philippe Lang -
r9969:2275f4613875
parent child
Show More
@@ -168,7 +168,7 class Version < ActiveRecord::Base
168 if self.effective_date
168 if self.effective_date
169 if version.effective_date
169 if version.effective_date
170 if self.effective_date == version.effective_date
170 if self.effective_date == version.effective_date
171 "#{self.project.name} - #{self.name}" <=> "#{version.project.name} - #{version.name}"
171 name == version.name ? id <=> version.id : name <=> version.name
172 else
172 else
173 self.effective_date <=> version.effective_date
173 self.effective_date <=> version.effective_date
174 end
174 end
@@ -179,7 +179,7 class Version < ActiveRecord::Base
179 if version.effective_date
179 if version.effective_date
180 1
180 1
181 else
181 else
182 "#{self.project.name} - #{self.name}" <=> "#{version.project.name} - #{version.name}"
182 name == version.name ? id <=> version.id : name <=> version.name
183 end
183 end
184 end
184 end
185 end
185 end
@@ -115,6 +115,7 class VersionTest < ActiveSupport::TestCase
115 v1 = Version.create!(:project_id => 1, :name => 'v3', :effective_date => '2012-08-02')
115 v1 = Version.create!(:project_id => 1, :name => 'v3', :effective_date => '2012-08-02')
116 v5 = Version.create!(:project_id => 1, :name => 'v5', :effective_date => '2012-07-02')
116 v5 = Version.create!(:project_id => 1, :name => 'v5', :effective_date => '2012-07-02')
117
117
118 assert_equal [v5, v3, v1, v2, v4], [v1, v2, v3, v4, v5].sort
118 assert_equal [v5, v3, v1, v2, v4], Version.sorted.all
119 assert_equal [v5, v3, v1, v2, v4], Version.sorted.all
119 end
120 end
120
121
General Comments 0
You need to be logged in to leave comments. Login now