activerecord-sortable 0.0.2 → 0.0.3

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