contentment 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,7 +10,7 @@
10
10
  <div class="main">
11
11
  <%= f.text_field :title, :placeholder => "Content Title", :class => 'title' %>
12
12
  <%= f.label :body %>
13
- <%= f.textarea :body %>
13
+ <%= f.text_area :body %>
14
14
  </div>
15
15
  <div class="side">
16
16
  <p>
@@ -29,19 +29,11 @@ class Content < ActiveRecord::Base
29
29
 
30
30
  private
31
31
  def adjust_positions
32
-
33
- # return true unless changed.include?('position')
34
- #
35
- # @contents = brothers.order('position ASC')
36
- # @contents.each_with_index do |x, idx|
37
- # unless x.position > self.position
38
- # if x.position
39
- # x.update_attribute :position, x.position + 1
40
- # else
41
- # x.update_attribute :position, self.position + idx
42
- # end
43
- # end
44
- # end
32
+ return true unless changed.include?('position')
33
+ return true unless brothers.map{|x| x.position}.include?(self.position)
34
+
35
+ brothers.where("position < ?", self.position).update_all("position = (position - 1)")
36
+ brothers.where("position >= ?", self.position).update_all("position = (position + 1)")
45
37
  end
46
38
 
47
39
 
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ class ContentTest < ActiveSupport::TestCase
4
+ # Replace this with your real tests.
5
+ test "content should fix position on save" do
6
+ a = Content.create(:position => 1, :title => 'a', :tipe => 'test')
7
+ b = Content.create(:position => 2, :title => 'b', :tipe => 'test')
8
+ c = Content.create(:position => 3, :title => 'c', :tipe => 'test')
9
+ c.position = 1
10
+ c.save
11
+
12
+ assert(c.reload.position == 1)
13
+ assert(a.reload.position == 2)
14
+ assert(b.reload.position == 3)
15
+ end
16
+ end
@@ -25,6 +25,7 @@ class ContentmentGenerator < Rails::Generators::Base
25
25
  # Need to figure out how to ask the user if they would like to overwrite their model.
26
26
  else
27
27
  template 'content.rb', content_model
28
+ template 'content_test.rb', 'test/unit/content_test.rb'
28
29
  end
29
30
 
30
31
  contents_controller = 'app/controllers/contents_controller.rb'
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 3
8
- - 2
9
- version: 0.3.2
7
+ - 4
8
+ - 0
9
+ version: 0.4.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Bob Larrick
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-11 00:00:00 -05:00
17
+ date: 2011-01-12 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -38,6 +38,7 @@ files:
38
38
  - lib/generators/contentment/contentment_views_templates/contents/show.html.erb
39
39
  - lib/generators/contentment/contentment_views_templates/contents_helper.rb
40
40
  - lib/generators/contentment/templates/content.rb
41
+ - lib/generators/contentment/templates/content_test.rb
41
42
  - lib/generators/contentment/templates/contents_controller.rb
42
43
  - lib/generators/contentment/templates/migration.rb
43
44
  - lib/generators/contentment_generator.rb