activerecord-sortable 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/lib/activerecord/sortable/version.rb +1 -1
  3. data/lib/assets/javascripts/sortable.js +31 -2
  4. data/spec/dummy/app/controllers/parents_controller.rb +31 -0
  5. data/spec/dummy/app/models/child.rb +7 -0
  6. data/spec/dummy/app/models/parent.rb +5 -0
  7. data/spec/dummy/app/views/parents/_form.html.erb +18 -0
  8. data/spec/dummy/app/views/parents/new.html.erb +3 -0
  9. data/spec/dummy/app/views/parents/show.html.erb +9 -0
  10. data/spec/dummy/app/views/things/index.html.erb +4 -0
  11. data/spec/dummy/config/routes.rb +1 -0
  12. data/spec/dummy/db/development.sqlite3 +0 -0
  13. data/spec/dummy/db/migrate/20140721161028_create_parents.rb +7 -0
  14. data/spec/dummy/db/migrate/20140721161122_create_children.rb +16 -0
  15. data/spec/dummy/db/schema.rb +16 -1
  16. data/spec/dummy/db/test.sqlite3 +0 -0
  17. data/spec/dummy/log/development.log +2172 -3366
  18. data/spec/dummy/log/test.log +44535 -116501
  19. data/spec/dummy/tmp/cache/assets/development/sprockets/02e6da2de0eeda095c3ab81e1033fc1d +0 -0
  20. data/spec/dummy/tmp/cache/assets/development/sprockets/11820a6ecc13dd7f7094529f02abab32 +0 -0
  21. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  22. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  23. data/spec/dummy/tmp/cache/assets/development/sprockets/30e32f924769f4b2ef4ec2ed78d62f3d +0 -0
  24. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  25. data/spec/dummy/tmp/cache/assets/development/sprockets/402789e80a4ebf130058eeae9bacd1e3 +0 -0
  26. data/spec/dummy/tmp/cache/assets/development/sprockets/405ef6e6ee991e0b2d850f3443245dc8 +0 -0
  27. data/spec/dummy/tmp/cache/assets/development/sprockets/485c8ac4edde07df3f326e4f4b9f9106 +0 -0
  28. data/spec/dummy/tmp/cache/assets/development/sprockets/63c434ac472c04632133d9bc2f8ebe44 +0 -0
  29. data/spec/dummy/tmp/cache/assets/development/sprockets/67ad3a3d9a5fa9dd07456e131ce9c2a8 +0 -0
  30. data/spec/dummy/tmp/cache/assets/development/sprockets/743ab64e3ac90ba4734a5a1af916fd93 +0 -0
  31. data/spec/dummy/tmp/cache/assets/development/sprockets/77088c2f43bec60ff0e030676e96f686 +0 -0
  32. data/spec/dummy/tmp/cache/assets/development/sprockets/7ed5d11be8a68c295f8833e4961891ff +0 -0
  33. data/spec/dummy/tmp/cache/assets/development/sprockets/80d43205b7942ece8d8b09f859813908 +0 -0
  34. data/spec/dummy/tmp/cache/assets/development/sprockets/8b39a75a80c1fb3a07395e674644e2cc +0 -0
  35. data/spec/dummy/tmp/cache/assets/development/sprockets/a2038db6aaa5289fba7fde9aea561a08 +0 -0
  36. data/spec/dummy/tmp/cache/assets/development/sprockets/b84a4d17f27ef190e1eed6129eaac20b +0 -0
  37. data/spec/dummy/tmp/cache/assets/development/sprockets/bbceab6aa0252d0552d3a37d2d11e98d +0 -0
  38. data/spec/dummy/tmp/cache/assets/development/sprockets/c7e351cd01a8592503c63b37d7d69e4f +0 -0
  39. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  40. data/spec/dummy/tmp/cache/assets/development/sprockets/d5449ece5f819190ad6dd88c1caccffc +0 -0
  41. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  42. data/spec/dummy/tmp/cache/assets/development/sprockets/d8b62b055a9e2933d39777275cd166f0 +0 -0
  43. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  44. data/spec/dummy/tmp/cache/assets/development/sprockets/fba7f1b57d7cc3253cb40677cbbd8f54 +0 -0
  45. data/spec/dummy/tmp/cache/assets/development/sprockets/fd13af7854ecfb6bedf12ce71539b636 +0 -0
  46. data/spec/dummy/tmp/cache/assets/test/sprockets/02e6da2de0eeda095c3ab81e1033fc1d +0 -0
  47. data/spec/dummy/tmp/cache/assets/test/sprockets/0bb2483991c2c5f7f83fde21edafb6a9 +0 -0
  48. data/spec/dummy/tmp/cache/assets/test/sprockets/11820a6ecc13dd7f7094529f02abab32 +0 -0
  49. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  50. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  51. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  52. data/spec/dummy/tmp/cache/assets/test/sprockets/405ef6e6ee991e0b2d850f3443245dc8 +0 -0
  53. data/spec/dummy/tmp/cache/assets/test/sprockets/485c8ac4edde07df3f326e4f4b9f9106 +0 -0
  54. data/spec/dummy/tmp/cache/assets/test/sprockets/63c434ac472c04632133d9bc2f8ebe44 +0 -0
  55. data/spec/dummy/tmp/cache/assets/test/sprockets/67ad3a3d9a5fa9dd07456e131ce9c2a8 +0 -0
  56. data/spec/dummy/tmp/cache/assets/test/sprockets/77088c2f43bec60ff0e030676e96f686 +0 -0
  57. data/spec/dummy/tmp/cache/assets/test/sprockets/80d43205b7942ece8d8b09f859813908 +0 -0
  58. data/spec/dummy/tmp/cache/assets/test/sprockets/a2038db6aaa5289fba7fde9aea561a08 +0 -0
  59. data/spec/dummy/tmp/cache/assets/test/sprockets/bbceab6aa0252d0552d3a37d2d11e98d +0 -0
  60. data/spec/dummy/tmp/cache/assets/test/sprockets/c7e351cd01a8592503c63b37d7d69e4f +0 -0
  61. data/spec/dummy/tmp/cache/assets/test/sprockets/caf21088467d229770a205c793606696 +0 -0
  62. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  63. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  64. data/spec/dummy/tmp/cache/assets/test/sprockets/d8b62b055a9e2933d39777275cd166f0 +0 -0
  65. data/spec/dummy/tmp/cache/assets/test/sprockets/ebe17685dedaf8f574dde1463bdea118 +0 -0
  66. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  67. data/spec/dummy/tmp/cache/assets/test/sprockets/fba7f1b57d7cc3253cb40677cbbd8f54 +0 -0
  68. data/spec/dummy/tmp/cache/assets/test/sprockets/fd13af7854ecfb6bedf12ce71539b636 +0 -0
  69. data/spec/features/drag_and_drop_spec.rb +113 -42
  70. metadata +18 -114
  71. data/spec/dummy/tmp/cache/assets/development/sprockets/04cf541b9d1ee4cad14421becb051689 +0 -0
  72. data/spec/dummy/tmp/cache/assets/development/sprockets/06a48cadb2e97ab6c9c35285891cd326 +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sprockets/0bb2483991c2c5f7f83fde21edafb6a9 +0 -0
  74. data/spec/dummy/tmp/cache/assets/development/sprockets/0d3c3b294494fb664545d3c26ee18f14 +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sprockets/0de48e81714433e3a37eac8d8be3d97e +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sprockets/10ae91021bb1bbd0930672c779b3b91a +0 -0
  77. data/spec/dummy/tmp/cache/assets/development/sprockets/11854112d39135b018adc8440defeda0 +0 -0
  78. data/spec/dummy/tmp/cache/assets/development/sprockets/1510c8e329d6e9494521d212f6436149 +0 -0
  79. data/spec/dummy/tmp/cache/assets/development/sprockets/1f6d40a549a87bc8b9dc59afe0b41143 +0 -0
  80. data/spec/dummy/tmp/cache/assets/development/sprockets/3102e67dc53e4d0f35c4581e16261889 +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sprockets/327b885c1a9d58094da4fda60431a466 +0 -0
  82. data/spec/dummy/tmp/cache/assets/development/sprockets/327f7f624a6fc56d3d434e46aceb3299 +0 -0
  83. data/spec/dummy/tmp/cache/assets/development/sprockets/3754f0eb2c14b3faa11aec78b2dcee56 +0 -0
  84. data/spec/dummy/tmp/cache/assets/development/sprockets/3a8816f3d1d27361f67808fed1cfaf48 +0 -0
  85. data/spec/dummy/tmp/cache/assets/development/sprockets/3c6d7669755b971545e296fc93a9595b +0 -0
  86. data/spec/dummy/tmp/cache/assets/development/sprockets/3e904cfb843c2a95c02c07b4fbc96e6e +0 -0
  87. data/spec/dummy/tmp/cache/assets/development/sprockets/4249e053e25b3a5632832c437bfd0e4d +0 -0
  88. data/spec/dummy/tmp/cache/assets/development/sprockets/42b8d23a55d28e131ae662ed762cbf08 +0 -0
  89. data/spec/dummy/tmp/cache/assets/development/sprockets/4646b96b524c218d2b80992e633080ff +0 -0
  90. data/spec/dummy/tmp/cache/assets/development/sprockets/47e71eb31da5be13ced7c7a889342d58 +0 -0
  91. data/spec/dummy/tmp/cache/assets/development/sprockets/49bf73b3490c4a8e62534bd0d5be81c3 +0 -0
  92. data/spec/dummy/tmp/cache/assets/development/sprockets/4c1e2286914bc9b9ad1073e0aaa47a40 +0 -0
  93. data/spec/dummy/tmp/cache/assets/development/sprockets/4c803caf54aa7538b898209acc1b1070 +0 -0
  94. data/spec/dummy/tmp/cache/assets/development/sprockets/562dbca143b36a28d7fc6820500de6cc +0 -0
  95. data/spec/dummy/tmp/cache/assets/development/sprockets/57c480a56fb25b20eb672e4027117550 +0 -0
  96. data/spec/dummy/tmp/cache/assets/development/sprockets/58b84f82ca3fe739a2c21accf3b43e08 +0 -0
  97. data/spec/dummy/tmp/cache/assets/development/sprockets/5b848793a8918c09f06e30db36aeb816 +0 -0
  98. data/spec/dummy/tmp/cache/assets/development/sprockets/5dc29296d9d4d74645d70a5225f6027f +0 -0
  99. data/spec/dummy/tmp/cache/assets/development/sprockets/61832b49e09217de656ff5bd787626c9 +0 -0
  100. data/spec/dummy/tmp/cache/assets/development/sprockets/6386af6a5c718c1ddd97f609e0f7e9bd +0 -0
  101. data/spec/dummy/tmp/cache/assets/development/sprockets/64ef40135516dbbf1737a2d598b22cfa +0 -0
  102. data/spec/dummy/tmp/cache/assets/development/sprockets/6c2e45e1a31edecd0e3584aa2d836c58 +0 -0
  103. data/spec/dummy/tmp/cache/assets/development/sprockets/777746e36b5f546628033e633d960005 +0 -0
  104. data/spec/dummy/tmp/cache/assets/development/sprockets/867c6ad0b26a9665bc431c93887cea11 +0 -0
  105. data/spec/dummy/tmp/cache/assets/development/sprockets/87f7d23ea55311ee3affe8e6ad8f1b57 +0 -0
  106. data/spec/dummy/tmp/cache/assets/development/sprockets/8a23854402292f417575b8ecaa5ced06 +0 -0
  107. data/spec/dummy/tmp/cache/assets/development/sprockets/8fd0bc56f8581ee9a4376dced1efc158 +0 -0
  108. data/spec/dummy/tmp/cache/assets/development/sprockets/a12ecc7f4b8b7b1315023a6f62aa4ab5 +0 -0
  109. data/spec/dummy/tmp/cache/assets/development/sprockets/ad0693eaa72c0eee52a255fb9d030503 +0 -0
  110. data/spec/dummy/tmp/cache/assets/development/sprockets/b0a786e48e0e908ab34cfbb918853146 +0 -0
  111. data/spec/dummy/tmp/cache/assets/development/sprockets/b9296322253567156d260263305d22d2 +0 -0
  112. data/spec/dummy/tmp/cache/assets/development/sprockets/b970eb3cff83ab8da0076e1472860d75 +0 -0
  113. data/spec/dummy/tmp/cache/assets/development/sprockets/bfca8c57a5fdc4f3f2e41cea232ed987 +0 -0
  114. data/spec/dummy/tmp/cache/assets/development/sprockets/bfce4ec4b73dd7cbfa1a9dcc601c5050 +0 -0
  115. data/spec/dummy/tmp/cache/assets/development/sprockets/bfd7da030142aceda83eb82f60b33487 +0 -0
  116. data/spec/dummy/tmp/cache/assets/development/sprockets/caf21088467d229770a205c793606696 +0 -0
  117. data/spec/dummy/tmp/cache/assets/development/sprockets/d1256d5e44bddbb67bfb24dbab1c3795 +0 -0
  118. data/spec/dummy/tmp/cache/assets/development/sprockets/d2c66e0a8aa45b5f5b17c98c3d39bf91 +0 -0
  119. data/spec/dummy/tmp/cache/assets/development/sprockets/d3fe7bc39b02f61c0f994820aec91f78 +0 -0
  120. data/spec/dummy/tmp/cache/assets/development/sprockets/d4b2ad85aa1a4f1ea28a39b5518f992b +0 -0
  121. data/spec/dummy/tmp/cache/assets/development/sprockets/dbbb41e059e78bdfbb7ec9285ce21b97 +0 -0
  122. data/spec/dummy/tmp/cache/assets/development/sprockets/e0f01bdea42cc99228735a8a21d95ef2 +0 -0
  123. data/spec/dummy/tmp/cache/assets/development/sprockets/ebd00f71b7dcba8d80316e0b8d5e76e3 +0 -0
  124. data/spec/dummy/tmp/cache/assets/development/sprockets/ebe17685dedaf8f574dde1463bdea118 +0 -0
  125. data/spec/dummy/tmp/cache/assets/development/sprockets/f188fdc5d08872237a3dd0231bbfe4e1 +0 -0
  126. data/spec/dummy/tmp/cache/assets/development/sprockets/f4cbaca85a4be542050fd39cbf5eb6c3 +0 -0
@@ -1,65 +1,136 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'drag and drop', :type => :feature, :js => true do
4
- before(:each) { Thing.delete_all }
4
+ context 'existing things' do
5
+ before(:each) { Thing.delete_all }
5
6
 
6
- let!(:thing1) { Thing.create }
7
- let!(:thing2) { Thing.create }
7
+ let!(:thing1) { Thing.create }
8
+ let!(:thing2) { Thing.create }
8
9
 
9
- describe 'drag up' do
10
- let(:thing1_selector) { "li[data-role=thing#{thing1.id}]" }
11
- let(:thing2_selector) { "li[data-role=thing#{thing2.id}]" }
10
+ describe 'drag up' do
11
+ let(:thing1_selector) { "li[data-role=thing#{thing1.id}]" }
12
+ let(:thing2_selector) { "li[data-role=thing#{thing2.id}]" }
12
13
 
13
- subject do
14
- draggable = find(thing1_selector)
15
- droppable = find(thing2_selector)
14
+ subject do
15
+ draggable = find(thing1_selector)
16
+ droppable = find(thing2_selector)
16
17
 
17
- draggable.drag_to(droppable)
18
- end
18
+ draggable.drag_to(droppable)
19
+
20
+ click_button 'Refresh'
21
+ end
22
+
23
+ it 'change first thing position to 0' do
24
+ visit '/'
25
+ subject
26
+ expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing1.id}' and @data-position='0']")
27
+ end
19
28
 
20
- it 'change first thing position to 0' do
21
- visit '/'
22
- subject
23
- expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing1.id}' and @data-position='0']")
29
+ it 'change second thing position to 1' do
30
+ visit '/'
31
+ subject
32
+ expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing2.id}' and @data-position='1']")
33
+ end
24
34
  end
25
35
 
26
- it 'change second thing position to 1' do
27
- visit '/'
28
- subject
29
- expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing2.id}' and @data-position='1']")
36
+ describe 'drag down' do
37
+ let!(:thing1) { Thing.create }
38
+ let!(:thing2) { Thing.create }
39
+
40
+ let(:thing1_selector) { "li[data-role=thing#{thing1.id}]" }
41
+ let(:thing2_selector) { "li[data-role=thing#{thing2.id}]" }
42
+
43
+ subject do
44
+ page.execute_script %Q{
45
+ $.getScript("/assets/jquery.simulate.js", function(){
46
+ var draggable = $('#{thing2_selector}');
47
+ var droppable = $('#{thing1_selector}');
48
+ var dy = droppable.offset().top - draggable.offset().top + 1;
49
+
50
+ draggable.simulate('drag', {dx:0, dy: dy});
51
+ });
52
+ }
53
+ click_button 'Refresh'
54
+ end
55
+
56
+ it 'change first thing position to 0' do
57
+ visit '/'
58
+ subject
59
+ expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing1.id}' and @data-position='#{thing1.sortable_append ? 1 : 0}']")
60
+ end
61
+
62
+ it 'change second thing position to 1' do
63
+ visit '/'
64
+ subject
65
+ expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing2.id}' and @data-position='#{thing2.sortable_append ? 0 : 1}']")
66
+ end
30
67
  end
31
68
  end
32
69
 
33
- describe 'drag down' do
34
- let!(:thing1) { Thing.create }
35
- let!(:thing2) { Thing.create }
70
+ context 'new things' do
71
+ let(:new_parent_path) { '/parents/new' }
36
72
 
37
- let(:thing1_selector) { "li[data-role=thing#{thing1.id}]" }
38
- let(:thing2_selector) { "li[data-role=thing#{thing2.id}]" }
73
+ describe 'drag up' do
74
+ let(:child1_selector) { "li[data-position='2']" }
75
+ let(:child2_selector) { "li[data-position='0']" }
39
76
 
40
- subject do
41
- page.execute_script %Q{
42
- $.getScript("/assets/jquery.simulate.js", function(){
43
- var draggable = $('#{thing2_selector}');
44
- var droppable = $('#{thing1_selector}');
45
- var dy = droppable.offset().top - draggable.offset().top + 1;
77
+ subject do
78
+ draggable = find(child1_selector)
79
+ droppable = find(child2_selector)
46
80
 
47
- draggable.simulate('drag', {dx:0, dy: dy});
48
- });
49
- }
50
- end
81
+ draggable.drag_to(droppable)
51
82
 
52
- it 'change first thing position to 0' do
53
- visit '/'
54
- subject
55
- expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing1.id}' and @data-position='0']")
83
+ click_button 'Create Parent'
84
+ end
56
85
 
86
+ it 'change first child position to 2' do
87
+ visit new_parent_path
88
+ subject
89
+ expect(page).to have_selector("li[data-position='1']", :text => 'Child 0')
90
+ end
91
+
92
+ it 'change last child position to 0' do
93
+ visit new_parent_path
94
+ subject
95
+ expect(page).to have_selector("li[data-position='0']", :text => 'Child 2')
96
+ end
57
97
  end
58
98
 
59
- it 'change second thing position to 1' do
60
- visit '/'
61
- subject
62
- expect(page).to have_selector(:xpath, "//li[@data-role='thing#{thing2.id}' and @data-position='1']")
99
+ describe 'drag down' do
100
+ let(:child1_selector) { "li[data-position='2']" }
101
+ let(:child2_selector) { "li[data-position='0']" }
102
+
103
+ subject do
104
+ page.execute_script %Q{
105
+ $.getScript("/assets/jquery.simulate.js", function(){
106
+ var draggable = $("#{child2_selector}");
107
+ var droppable = $("#{child1_selector}");
108
+ var dy = droppable.offset().top - draggable.offset().top + 1;
109
+
110
+ draggable.simulate('drag', {dx:0, dy: dy});
111
+ });
112
+ }
113
+
114
+ click_button 'Create Parent'
115
+ end
116
+
117
+ it 'change first child position to 2' do
118
+ visit new_parent_path
119
+ subject
120
+ expect(page).to have_selector("li[data-position='2']", :text => 'Child 0')
121
+ end
122
+
123
+ it 'change middle child position to 0' do
124
+ visit new_parent_path
125
+ subject
126
+ expect(page).to have_selector("li[data-position='0']", :text => 'Child 1')
127
+ end
128
+
129
+ it 'change last child position to 1' do
130
+ visit new_parent_path
131
+ subject
132
+ expect(page).to have_selector("li[data-position='1']", :text => 'Child 2')
133
+ end
63
134
  end
64
135
  end
65
136
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-sortable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandr Borisov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-19 00:00:00.000000000 Z
12
+ date: 2014-07-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -115,12 +115,18 @@ files:
115
115
  - spec/dummy/app/assets/javascripts/jquery.simulate.js
116
116
  - spec/dummy/app/assets/stylesheets/application.css
117
117
  - spec/dummy/app/controllers/application_controller.rb
118
+ - spec/dummy/app/controllers/parents_controller.rb
118
119
  - spec/dummy/app/controllers/things_controller.rb
119
120
  - spec/dummy/app/helpers/application_helper.rb
121
+ - spec/dummy/app/models/child.rb
120
122
  - spec/dummy/app/models/item.rb
121
123
  - spec/dummy/app/models/other_thing.rb
124
+ - spec/dummy/app/models/parent.rb
122
125
  - spec/dummy/app/models/thing.rb
123
126
  - spec/dummy/app/views/layouts/application.html.erb
127
+ - spec/dummy/app/views/parents/_form.html.erb
128
+ - spec/dummy/app/views/parents/new.html.erb
129
+ - spec/dummy/app/views/parents/show.html.erb
124
130
  - spec/dummy/app/views/things/_thing.html.erb
125
131
  - spec/dummy/app/views/things/index.html.erb
126
132
  - spec/dummy/app/views/things/move.js.erb
@@ -149,6 +155,8 @@ files:
149
155
  - spec/dummy/db/migrate/20140525104834_create_other_things.rb
150
156
  - spec/dummy/db/migrate/20140525111906_create_items.rb
151
157
  - spec/dummy/db/migrate/20140525112123_add_position_to_items.rb
158
+ - spec/dummy/db/migrate/20140721161028_create_parents.rb
159
+ - spec/dummy/db/migrate/20140721161122_create_children.rb
152
160
  - spec/dummy/db/schema.rb
153
161
  - spec/dummy/db/seeds.rb
154
162
  - spec/dummy/db/test.sqlite3
@@ -159,85 +167,29 @@ files:
159
167
  - spec/dummy/public/500.html
160
168
  - spec/dummy/public/favicon.ico
161
169
  - spec/dummy/tmp/cache/assets/development/sprockets/02e6da2de0eeda095c3ab81e1033fc1d
162
- - spec/dummy/tmp/cache/assets/development/sprockets/04cf541b9d1ee4cad14421becb051689
163
- - spec/dummy/tmp/cache/assets/development/sprockets/06a48cadb2e97ab6c9c35285891cd326
164
- - spec/dummy/tmp/cache/assets/development/sprockets/0bb2483991c2c5f7f83fde21edafb6a9
165
- - spec/dummy/tmp/cache/assets/development/sprockets/0d3c3b294494fb664545d3c26ee18f14
166
- - spec/dummy/tmp/cache/assets/development/sprockets/0de48e81714433e3a37eac8d8be3d97e
167
- - spec/dummy/tmp/cache/assets/development/sprockets/10ae91021bb1bbd0930672c779b3b91a
168
170
  - spec/dummy/tmp/cache/assets/development/sprockets/11820a6ecc13dd7f7094529f02abab32
169
- - spec/dummy/tmp/cache/assets/development/sprockets/11854112d39135b018adc8440defeda0
170
171
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
171
- - spec/dummy/tmp/cache/assets/development/sprockets/1510c8e329d6e9494521d212f6436149
172
- - spec/dummy/tmp/cache/assets/development/sprockets/1f6d40a549a87bc8b9dc59afe0b41143
173
172
  - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
174
173
  - spec/dummy/tmp/cache/assets/development/sprockets/30e32f924769f4b2ef4ec2ed78d62f3d
175
- - spec/dummy/tmp/cache/assets/development/sprockets/3102e67dc53e4d0f35c4581e16261889
176
- - spec/dummy/tmp/cache/assets/development/sprockets/327b885c1a9d58094da4fda60431a466
177
- - spec/dummy/tmp/cache/assets/development/sprockets/327f7f624a6fc56d3d434e46aceb3299
178
174
  - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
179
- - spec/dummy/tmp/cache/assets/development/sprockets/3754f0eb2c14b3faa11aec78b2dcee56
180
- - spec/dummy/tmp/cache/assets/development/sprockets/3a8816f3d1d27361f67808fed1cfaf48
181
- - spec/dummy/tmp/cache/assets/development/sprockets/3c6d7669755b971545e296fc93a9595b
182
- - spec/dummy/tmp/cache/assets/development/sprockets/3e904cfb843c2a95c02c07b4fbc96e6e
183
175
  - spec/dummy/tmp/cache/assets/development/sprockets/402789e80a4ebf130058eeae9bacd1e3
184
176
  - spec/dummy/tmp/cache/assets/development/sprockets/405ef6e6ee991e0b2d850f3443245dc8
185
- - spec/dummy/tmp/cache/assets/development/sprockets/4249e053e25b3a5632832c437bfd0e4d
186
- - spec/dummy/tmp/cache/assets/development/sprockets/42b8d23a55d28e131ae662ed762cbf08
187
- - spec/dummy/tmp/cache/assets/development/sprockets/4646b96b524c218d2b80992e633080ff
188
- - spec/dummy/tmp/cache/assets/development/sprockets/47e71eb31da5be13ced7c7a889342d58
189
177
  - spec/dummy/tmp/cache/assets/development/sprockets/485c8ac4edde07df3f326e4f4b9f9106
190
- - spec/dummy/tmp/cache/assets/development/sprockets/49bf73b3490c4a8e62534bd0d5be81c3
191
- - spec/dummy/tmp/cache/assets/development/sprockets/4c1e2286914bc9b9ad1073e0aaa47a40
192
- - spec/dummy/tmp/cache/assets/development/sprockets/4c803caf54aa7538b898209acc1b1070
193
- - spec/dummy/tmp/cache/assets/development/sprockets/562dbca143b36a28d7fc6820500de6cc
194
- - spec/dummy/tmp/cache/assets/development/sprockets/57c480a56fb25b20eb672e4027117550
195
- - spec/dummy/tmp/cache/assets/development/sprockets/58b84f82ca3fe739a2c21accf3b43e08
196
- - spec/dummy/tmp/cache/assets/development/sprockets/5b848793a8918c09f06e30db36aeb816
197
- - spec/dummy/tmp/cache/assets/development/sprockets/5dc29296d9d4d74645d70a5225f6027f
198
- - spec/dummy/tmp/cache/assets/development/sprockets/61832b49e09217de656ff5bd787626c9
199
- - spec/dummy/tmp/cache/assets/development/sprockets/6386af6a5c718c1ddd97f609e0f7e9bd
200
178
  - spec/dummy/tmp/cache/assets/development/sprockets/63c434ac472c04632133d9bc2f8ebe44
201
- - spec/dummy/tmp/cache/assets/development/sprockets/64ef40135516dbbf1737a2d598b22cfa
202
179
  - spec/dummy/tmp/cache/assets/development/sprockets/67ad3a3d9a5fa9dd07456e131ce9c2a8
203
- - spec/dummy/tmp/cache/assets/development/sprockets/6c2e45e1a31edecd0e3584aa2d836c58
204
180
  - spec/dummy/tmp/cache/assets/development/sprockets/743ab64e3ac90ba4734a5a1af916fd93
205
181
  - spec/dummy/tmp/cache/assets/development/sprockets/77088c2f43bec60ff0e030676e96f686
206
- - spec/dummy/tmp/cache/assets/development/sprockets/777746e36b5f546628033e633d960005
207
182
  - spec/dummy/tmp/cache/assets/development/sprockets/7ed5d11be8a68c295f8833e4961891ff
208
183
  - spec/dummy/tmp/cache/assets/development/sprockets/80d43205b7942ece8d8b09f859813908
209
- - spec/dummy/tmp/cache/assets/development/sprockets/867c6ad0b26a9665bc431c93887cea11
210
- - spec/dummy/tmp/cache/assets/development/sprockets/87f7d23ea55311ee3affe8e6ad8f1b57
211
- - spec/dummy/tmp/cache/assets/development/sprockets/8a23854402292f417575b8ecaa5ced06
212
184
  - spec/dummy/tmp/cache/assets/development/sprockets/8b39a75a80c1fb3a07395e674644e2cc
213
- - spec/dummy/tmp/cache/assets/development/sprockets/8fd0bc56f8581ee9a4376dced1efc158
214
- - spec/dummy/tmp/cache/assets/development/sprockets/a12ecc7f4b8b7b1315023a6f62aa4ab5
215
185
  - spec/dummy/tmp/cache/assets/development/sprockets/a2038db6aaa5289fba7fde9aea561a08
216
- - spec/dummy/tmp/cache/assets/development/sprockets/ad0693eaa72c0eee52a255fb9d030503
217
- - spec/dummy/tmp/cache/assets/development/sprockets/b0a786e48e0e908ab34cfbb918853146
218
186
  - spec/dummy/tmp/cache/assets/development/sprockets/b84a4d17f27ef190e1eed6129eaac20b
219
- - spec/dummy/tmp/cache/assets/development/sprockets/b9296322253567156d260263305d22d2
220
- - spec/dummy/tmp/cache/assets/development/sprockets/b970eb3cff83ab8da0076e1472860d75
221
187
  - spec/dummy/tmp/cache/assets/development/sprockets/bbceab6aa0252d0552d3a37d2d11e98d
222
- - spec/dummy/tmp/cache/assets/development/sprockets/bfca8c57a5fdc4f3f2e41cea232ed987
223
- - spec/dummy/tmp/cache/assets/development/sprockets/bfce4ec4b73dd7cbfa1a9dcc601c5050
224
- - spec/dummy/tmp/cache/assets/development/sprockets/bfd7da030142aceda83eb82f60b33487
225
188
  - spec/dummy/tmp/cache/assets/development/sprockets/c7e351cd01a8592503c63b37d7d69e4f
226
- - spec/dummy/tmp/cache/assets/development/sprockets/caf21088467d229770a205c793606696
227
189
  - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
228
- - spec/dummy/tmp/cache/assets/development/sprockets/d1256d5e44bddbb67bfb24dbab1c3795
229
- - spec/dummy/tmp/cache/assets/development/sprockets/d2c66e0a8aa45b5f5b17c98c3d39bf91
230
- - spec/dummy/tmp/cache/assets/development/sprockets/d3fe7bc39b02f61c0f994820aec91f78
231
- - spec/dummy/tmp/cache/assets/development/sprockets/d4b2ad85aa1a4f1ea28a39b5518f992b
232
190
  - spec/dummy/tmp/cache/assets/development/sprockets/d5449ece5f819190ad6dd88c1caccffc
233
191
  - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
234
192
  - spec/dummy/tmp/cache/assets/development/sprockets/d8b62b055a9e2933d39777275cd166f0
235
- - spec/dummy/tmp/cache/assets/development/sprockets/dbbb41e059e78bdfbb7ec9285ce21b97
236
- - spec/dummy/tmp/cache/assets/development/sprockets/e0f01bdea42cc99228735a8a21d95ef2
237
- - spec/dummy/tmp/cache/assets/development/sprockets/ebd00f71b7dcba8d80316e0b8d5e76e3
238
- - spec/dummy/tmp/cache/assets/development/sprockets/ebe17685dedaf8f574dde1463bdea118
239
- - spec/dummy/tmp/cache/assets/development/sprockets/f188fdc5d08872237a3dd0231bbfe4e1
240
- - spec/dummy/tmp/cache/assets/development/sprockets/f4cbaca85a4be542050fd39cbf5eb6c3
241
193
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
242
194
  - spec/dummy/tmp/cache/assets/development/sprockets/fba7f1b57d7cc3253cb40677cbbd8f54
243
195
  - spec/dummy/tmp/cache/assets/development/sprockets/fd13af7854ecfb6bedf12ce71539b636
@@ -299,12 +251,18 @@ test_files:
299
251
  - spec/dummy/app/assets/javascripts/jquery.simulate.js
300
252
  - spec/dummy/app/assets/stylesheets/application.css
301
253
  - spec/dummy/app/controllers/application_controller.rb
254
+ - spec/dummy/app/controllers/parents_controller.rb
302
255
  - spec/dummy/app/controllers/things_controller.rb
303
256
  - spec/dummy/app/helpers/application_helper.rb
257
+ - spec/dummy/app/models/child.rb
304
258
  - spec/dummy/app/models/item.rb
305
259
  - spec/dummy/app/models/other_thing.rb
260
+ - spec/dummy/app/models/parent.rb
306
261
  - spec/dummy/app/models/thing.rb
307
262
  - spec/dummy/app/views/layouts/application.html.erb
263
+ - spec/dummy/app/views/parents/_form.html.erb
264
+ - spec/dummy/app/views/parents/new.html.erb
265
+ - spec/dummy/app/views/parents/show.html.erb
308
266
  - spec/dummy/app/views/things/_thing.html.erb
309
267
  - spec/dummy/app/views/things/index.html.erb
310
268
  - spec/dummy/app/views/things/move.js.erb
@@ -333,6 +291,8 @@ test_files:
333
291
  - spec/dummy/db/migrate/20140525104834_create_other_things.rb
334
292
  - spec/dummy/db/migrate/20140525111906_create_items.rb
335
293
  - spec/dummy/db/migrate/20140525112123_add_position_to_items.rb
294
+ - spec/dummy/db/migrate/20140721161028_create_parents.rb
295
+ - spec/dummy/db/migrate/20140721161122_create_children.rb
336
296
  - spec/dummy/db/schema.rb
337
297
  - spec/dummy/db/seeds.rb
338
298
  - spec/dummy/db/test.sqlite3
@@ -345,85 +305,29 @@ test_files:
345
305
  - spec/dummy/Rakefile
346
306
  - spec/dummy/README.rdoc
347
307
  - spec/dummy/tmp/cache/assets/development/sprockets/02e6da2de0eeda095c3ab81e1033fc1d
348
- - spec/dummy/tmp/cache/assets/development/sprockets/04cf541b9d1ee4cad14421becb051689
349
- - spec/dummy/tmp/cache/assets/development/sprockets/06a48cadb2e97ab6c9c35285891cd326
350
- - spec/dummy/tmp/cache/assets/development/sprockets/0bb2483991c2c5f7f83fde21edafb6a9
351
- - spec/dummy/tmp/cache/assets/development/sprockets/0d3c3b294494fb664545d3c26ee18f14
352
- - spec/dummy/tmp/cache/assets/development/sprockets/0de48e81714433e3a37eac8d8be3d97e
353
- - spec/dummy/tmp/cache/assets/development/sprockets/10ae91021bb1bbd0930672c779b3b91a
354
308
  - spec/dummy/tmp/cache/assets/development/sprockets/11820a6ecc13dd7f7094529f02abab32
355
- - spec/dummy/tmp/cache/assets/development/sprockets/11854112d39135b018adc8440defeda0
356
309
  - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
357
- - spec/dummy/tmp/cache/assets/development/sprockets/1510c8e329d6e9494521d212f6436149
358
- - spec/dummy/tmp/cache/assets/development/sprockets/1f6d40a549a87bc8b9dc59afe0b41143
359
310
  - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
360
311
  - spec/dummy/tmp/cache/assets/development/sprockets/30e32f924769f4b2ef4ec2ed78d62f3d
361
- - spec/dummy/tmp/cache/assets/development/sprockets/3102e67dc53e4d0f35c4581e16261889
362
- - spec/dummy/tmp/cache/assets/development/sprockets/327b885c1a9d58094da4fda60431a466
363
- - spec/dummy/tmp/cache/assets/development/sprockets/327f7f624a6fc56d3d434e46aceb3299
364
312
  - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
365
- - spec/dummy/tmp/cache/assets/development/sprockets/3754f0eb2c14b3faa11aec78b2dcee56
366
- - spec/dummy/tmp/cache/assets/development/sprockets/3a8816f3d1d27361f67808fed1cfaf48
367
- - spec/dummy/tmp/cache/assets/development/sprockets/3c6d7669755b971545e296fc93a9595b
368
- - spec/dummy/tmp/cache/assets/development/sprockets/3e904cfb843c2a95c02c07b4fbc96e6e
369
313
  - spec/dummy/tmp/cache/assets/development/sprockets/402789e80a4ebf130058eeae9bacd1e3
370
314
  - spec/dummy/tmp/cache/assets/development/sprockets/405ef6e6ee991e0b2d850f3443245dc8
371
- - spec/dummy/tmp/cache/assets/development/sprockets/4249e053e25b3a5632832c437bfd0e4d
372
- - spec/dummy/tmp/cache/assets/development/sprockets/42b8d23a55d28e131ae662ed762cbf08
373
- - spec/dummy/tmp/cache/assets/development/sprockets/4646b96b524c218d2b80992e633080ff
374
- - spec/dummy/tmp/cache/assets/development/sprockets/47e71eb31da5be13ced7c7a889342d58
375
315
  - spec/dummy/tmp/cache/assets/development/sprockets/485c8ac4edde07df3f326e4f4b9f9106
376
- - spec/dummy/tmp/cache/assets/development/sprockets/49bf73b3490c4a8e62534bd0d5be81c3
377
- - spec/dummy/tmp/cache/assets/development/sprockets/4c1e2286914bc9b9ad1073e0aaa47a40
378
- - spec/dummy/tmp/cache/assets/development/sprockets/4c803caf54aa7538b898209acc1b1070
379
- - spec/dummy/tmp/cache/assets/development/sprockets/562dbca143b36a28d7fc6820500de6cc
380
- - spec/dummy/tmp/cache/assets/development/sprockets/57c480a56fb25b20eb672e4027117550
381
- - spec/dummy/tmp/cache/assets/development/sprockets/58b84f82ca3fe739a2c21accf3b43e08
382
- - spec/dummy/tmp/cache/assets/development/sprockets/5b848793a8918c09f06e30db36aeb816
383
- - spec/dummy/tmp/cache/assets/development/sprockets/5dc29296d9d4d74645d70a5225f6027f
384
- - spec/dummy/tmp/cache/assets/development/sprockets/61832b49e09217de656ff5bd787626c9
385
- - spec/dummy/tmp/cache/assets/development/sprockets/6386af6a5c718c1ddd97f609e0f7e9bd
386
316
  - spec/dummy/tmp/cache/assets/development/sprockets/63c434ac472c04632133d9bc2f8ebe44
387
- - spec/dummy/tmp/cache/assets/development/sprockets/64ef40135516dbbf1737a2d598b22cfa
388
317
  - spec/dummy/tmp/cache/assets/development/sprockets/67ad3a3d9a5fa9dd07456e131ce9c2a8
389
- - spec/dummy/tmp/cache/assets/development/sprockets/6c2e45e1a31edecd0e3584aa2d836c58
390
318
  - spec/dummy/tmp/cache/assets/development/sprockets/743ab64e3ac90ba4734a5a1af916fd93
391
319
  - spec/dummy/tmp/cache/assets/development/sprockets/77088c2f43bec60ff0e030676e96f686
392
- - spec/dummy/tmp/cache/assets/development/sprockets/777746e36b5f546628033e633d960005
393
320
  - spec/dummy/tmp/cache/assets/development/sprockets/7ed5d11be8a68c295f8833e4961891ff
394
321
  - spec/dummy/tmp/cache/assets/development/sprockets/80d43205b7942ece8d8b09f859813908
395
- - spec/dummy/tmp/cache/assets/development/sprockets/867c6ad0b26a9665bc431c93887cea11
396
- - spec/dummy/tmp/cache/assets/development/sprockets/87f7d23ea55311ee3affe8e6ad8f1b57
397
- - spec/dummy/tmp/cache/assets/development/sprockets/8a23854402292f417575b8ecaa5ced06
398
322
  - spec/dummy/tmp/cache/assets/development/sprockets/8b39a75a80c1fb3a07395e674644e2cc
399
- - spec/dummy/tmp/cache/assets/development/sprockets/8fd0bc56f8581ee9a4376dced1efc158
400
- - spec/dummy/tmp/cache/assets/development/sprockets/a12ecc7f4b8b7b1315023a6f62aa4ab5
401
323
  - spec/dummy/tmp/cache/assets/development/sprockets/a2038db6aaa5289fba7fde9aea561a08
402
- - spec/dummy/tmp/cache/assets/development/sprockets/ad0693eaa72c0eee52a255fb9d030503
403
- - spec/dummy/tmp/cache/assets/development/sprockets/b0a786e48e0e908ab34cfbb918853146
404
324
  - spec/dummy/tmp/cache/assets/development/sprockets/b84a4d17f27ef190e1eed6129eaac20b
405
- - spec/dummy/tmp/cache/assets/development/sprockets/b9296322253567156d260263305d22d2
406
- - spec/dummy/tmp/cache/assets/development/sprockets/b970eb3cff83ab8da0076e1472860d75
407
325
  - spec/dummy/tmp/cache/assets/development/sprockets/bbceab6aa0252d0552d3a37d2d11e98d
408
- - spec/dummy/tmp/cache/assets/development/sprockets/bfca8c57a5fdc4f3f2e41cea232ed987
409
- - spec/dummy/tmp/cache/assets/development/sprockets/bfce4ec4b73dd7cbfa1a9dcc601c5050
410
- - spec/dummy/tmp/cache/assets/development/sprockets/bfd7da030142aceda83eb82f60b33487
411
326
  - spec/dummy/tmp/cache/assets/development/sprockets/c7e351cd01a8592503c63b37d7d69e4f
412
- - spec/dummy/tmp/cache/assets/development/sprockets/caf21088467d229770a205c793606696
413
327
  - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
414
- - spec/dummy/tmp/cache/assets/development/sprockets/d1256d5e44bddbb67bfb24dbab1c3795
415
- - spec/dummy/tmp/cache/assets/development/sprockets/d2c66e0a8aa45b5f5b17c98c3d39bf91
416
- - spec/dummy/tmp/cache/assets/development/sprockets/d3fe7bc39b02f61c0f994820aec91f78
417
- - spec/dummy/tmp/cache/assets/development/sprockets/d4b2ad85aa1a4f1ea28a39b5518f992b
418
328
  - spec/dummy/tmp/cache/assets/development/sprockets/d5449ece5f819190ad6dd88c1caccffc
419
329
  - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
420
330
  - spec/dummy/tmp/cache/assets/development/sprockets/d8b62b055a9e2933d39777275cd166f0
421
- - spec/dummy/tmp/cache/assets/development/sprockets/dbbb41e059e78bdfbb7ec9285ce21b97
422
- - spec/dummy/tmp/cache/assets/development/sprockets/e0f01bdea42cc99228735a8a21d95ef2
423
- - spec/dummy/tmp/cache/assets/development/sprockets/ebd00f71b7dcba8d80316e0b8d5e76e3
424
- - spec/dummy/tmp/cache/assets/development/sprockets/ebe17685dedaf8f574dde1463bdea118
425
- - spec/dummy/tmp/cache/assets/development/sprockets/f188fdc5d08872237a3dd0231bbfe4e1
426
- - spec/dummy/tmp/cache/assets/development/sprockets/f4cbaca85a4be542050fd39cbf5eb6c3
427
331
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
428
332
  - spec/dummy/tmp/cache/assets/development/sprockets/fba7f1b57d7cc3253cb40677cbbd8f54
429
333
  - spec/dummy/tmp/cache/assets/development/sprockets/fd13af7854ecfb6bedf12ce71539b636