rails_sortable 0.1.1 → 1.0.0

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +61 -24
  3. data/app/helpers/sortable_helper.rb +4 -6
  4. data/app/models/rails_sortable/model.rb +8 -5
  5. data/lib/rails_sortable/core_ext/enumerable.rb +6 -0
  6. data/lib/rails_sortable/core_ext.rb +3 -0
  7. data/lib/rails_sortable/version.rb +1 -1
  8. data/lib/rails_sortable.rb +1 -0
  9. data/spec/dummy/app/models/sequenced_item.rb +1 -1
  10. data/spec/dummy/app/views/items/index.html.erb +2 -2
  11. data/spec/dummy/app/views/sequenced_items/index.html.erb +2 -2
  12. data/spec/dummy/config/application.rb +2 -0
  13. data/spec/dummy/db/development.sqlite3 +0 -0
  14. data/spec/dummy/db/migrate/20131223124841_create_items.rb +1 -1
  15. data/spec/dummy/db/migrate/20170414031946_create_sequenced_items.rb +1 -1
  16. data/spec/dummy/db/schema.rb +0 -1
  17. data/spec/dummy/db/test.sqlite3 +0 -0
  18. data/spec/dummy/log/development.log +686 -0
  19. data/spec/dummy/log/test.log +7647 -0
  20. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-M/-MwqdQ791aPntbEy7upqu3cADI-2KlCz2SjOQXwCd5w.cache +0 -0
  21. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/0l/0lxOLKgMUMzAFvW2sDd-e6N0cnDR_PNDv-s69MSMiAA.cache +0 -0
  22. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1U/1U1pW6Uavmef847C1JXIdugGlbThpoaH5psPBv7R_J8.cache +1 -0
  23. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/31/31pAh-ykal9wFBvxGXPlw8TvfVP9I3g8AKUN1RD12Sg.cache +1 -0
  24. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5_/5_YaqD4YPAqkrxzucbFB0d7IJcA1OkWUzybswbWefwc.cache +0 -0
  25. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/77/776QkbrTcZYapIcbwGFTJtbgfh3cNgMT2c40Aj54fEU.cache +0 -0
  26. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/7U/7UBkdE46evReoZt_EYaKUwH58UyqcXz2y56G9dIqFP0.cache +1 -0
  27. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8f/8fIg59WLGyiXkq1RifIbIftwSQZKF-yZ2EXsZMXMch8.cache +0 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9U/9U2DhKS6xwVOdGrAQv2FhUnh6toPdgGRab6NIRsXp0o.cache +0 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ag/AgpGgXbfyusDXjo1mDj-AFk_o2SSeoZO0lEdU9qWQX8.cache +0 -0
  30. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bq/BqBJyBS41Jda6NbagWARTtmiCR-quplnsjL7d5z4p1c.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Bq/bqKThELB3qgSQcjs5dN-vSX3A407npeY8MIKpowe-Js.cache +0 -0
  32. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/C8/C8hb35kAhvJiAFUsoqojTrsfrThtdp49E4nptXI_9Ro.cache +1 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CO/COP5g_SpHcHL9NYeZARiQDwPnIZty47_OGxvjAnrncI.cache +1 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dm/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Dm/dmwAuKE4eBzCm6glINJ_ZwcD69v9t8l15j03VzHLxh8.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/E6/E6CVif4RjoY04O2IF5Vb4QI-F_S02jIpChkH6YLZy9A.cache +1 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ei/Eiu0Y5dKtNlRmNbmh7sA6xxf5BCI-ijBOXcJG5XDPAQ.cache +1 -0
  38. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Gn/GnyjUg0eyY4eXLM8LB7BH4Ivh2xVIcwH_qv7mwyyjJw.cache +0 -0
  39. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HF/HFuNhzNZA5ILxIzWi2wxnZ_uEYPrAQ4OVoo0Y_92muU.cache +0 -0
  40. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jc/JcODu6JBZielcrLviF0o_T1GbgKIhK-zRaK6x6QTozw.cache +1 -0
  41. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Jn/JnjBvfKtl8TXKycLjUNrFw0bedaarjPKagB7vF8TUK8.cache +1 -0
  42. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ND/NDJu7JZ4s949_mBSyh1RlDbvIA4g5-5pvgaOWqG-Ac0.cache +1 -0
  43. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/NW/NWqf7xq8uxCcCLqLyqR4P6Xdp7ptpiR-nfnIdZpLUKM.cache +0 -0
  44. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OX/OXQFRQZ5OA2i3YtnP1fZ96aWeUC3_IIqO4fAMdR9FsM.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Oq/Oq9qxOybVTkEsplZxHkAXQtRjPsCla5NvnuEBpzA6aQ.cache +1 -0
  46. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Qn/QnVahtlgxWDe8pZzWsgQMPKPFKUVrX-zODRgJ88d8g0.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/R6/R6jjGP-ss5qq0jCtD8DVMldYO5CZ3CnR8ATE0bBwS9s.cache +0 -0
  48. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RT/RtNDq2dTGBn8a9lKsp_NdLkLSZ_qC14uMcRAnJa8MwU.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/SE/SEOXTAR9ayZjI7koj_F8NhHi0BcVNcfS2CJoYYvgfmA.cache +0 -0
  50. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UG/UGUKHaW4DiFx1aZgMUpclbzKInIDVBd5f75rfkqDRd4.cache +0 -0
  51. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Vi/VinvgmlVKmvmmSv0n3iGxgjUEMX6B95Jsp7rUJkKvxk.cache +0 -0
  52. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/YC/YCmSRb5SEvvoBvnJsRlYJpjX4bDwV_X9TkGytX3NnRs.cache +1 -0
  53. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Yu/yue8-Q5bNZaBmyxqsXfEfa-f2AFyNQfYiPjFz1iiOC8.cache +1 -0
  54. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Z9/Z9BQI9WcvV299qzaK1M_BzYQ0JyoibxRUHVkgjQAglI.cache +0 -0
  55. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ZJ/ZJ44p6_pZuT7WpBrGCBRBtJ5QdfNcMjNQvu5qqXgxDk.cache +1 -0
  56. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/aN/aN7HmMd7uTy_8MNbMlPVBrUnBks5bEWJMA6PBRz6bHs.cache +1 -0
  57. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/by/bycyWG1KvMAFy-MNbyR0Jg_fDRj_lPz1FTGz-a3lBuw.cache +0 -0
  58. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/d2/d2Yn085-A4NAn9xG1tVfpAF_Wq_xF-41XbpMJWJrx3I.cache +0 -0
  59. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ep/epOwUzkCBUUf3qec0T3hdrf2NnOzeQ6raN7_mH70hIE.cache +1 -0
  60. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fO/Fot3cRKzEJDZ24jtzhnIGTxk4y0oangfskCEIQhU5mM.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fR/fR7lphpj83NQV2tYMU8ejAZ8IE9LVsOaLLjXr3QB0hY.cache +0 -0
  62. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/gP/gPOrGelZGMmC2JmWhxBVOrc1sFhQtfgSnODI-Ul_sWs.cache +1 -0
  63. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hj/Hj4c2gR3CanPccvkZw0kp49U1R-mtB9wIGo7YzEUtRY.cache +0 -0
  64. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/l-/l-tlnwp5uJdRwxd_83TYgEcK2tKtc0BgtknMUirnIMU.cache +0 -0
  65. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/lv/lvVdgHzQTW7MQ3US3THd4ZE84XRfWcPT5qwJLXv0rN4.cache +1 -0
  66. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/m2/m2egBUvfxGWpUmYKTgZQuNXHWm8EvHntYVaIlpLM38s.cache +0 -0
  67. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nh/nh8v3yrwWXGoRhmmkfOR5UPo9GMZPUFyt6LSRdvHyy8.cache +0 -0
  68. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/o4/o4Y9F2XU_uVXmdHbLHiTSqN0NE0piayqn2EwMN4yDgQ.cache +0 -0
  69. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oE/OEkPR9rCjDF_RsHHp1mxYgYBdzX3EWkvcck8pAa7-cI.cache +0 -0
  70. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oJ/oJCqbKqh-ra1_jrvq68KLQTNjUH6bSq5jguVUig8lcE.cache +0 -0
  71. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/pf/pfqGxtUxd_Aih4aBeO5sUUDN0-3Vb0S5_nqLjj0cMAw.cache +1 -0
  72. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q6/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +0 -0
  73. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/s7/s7VWT9DZLFqtya2VSPGzhMBSY277k6KTrT8nUYpeBu8.cache +0 -0
  74. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uV/uV_S1Cg7y0O0HsF1rc8eYpK_AgSbsKuL5jH9NMfjv04.cache +0 -0
  75. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/up/upVymLTBG2KFDubvLigJERLKkH6kU_CVWmn2lgOYg54.cache +0 -0
  76. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/uw/uWpRXEIJzFMcsSUwp-Vu5QLS3vWbos65wsNMgWi-9k0.cache +0 -0
  77. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vn/vnFhMxGWzyZFIqsnCGE3pR5PnSiBGsLvdsOfQccjeZ4.cache +1 -0
  78. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/wv/wvLIhRJ2wqhPrnqvkacm2QHyG0rFmmf3VSAGNiZnOWU.cache +0 -0
  79. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +0 -0
  80. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xb/xbyHnHRcdnYQamtz02quX36a2_ef91bDpDlDcKN9k8w.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xo/xomBLC8CXZdVx5BbdIwBVW9ROU-L7Lx6udDAW3t43I4.cache +0 -0
  82. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xo/xox6GSP3_45BgwDA_Qsm5x9I4tMzd_-JBiArTeUVQQI.cache +0 -0
  83. data/spec/helpers/sortable_helper_spec.rb +1 -1
  84. data/spec/models/rails_sortable/model_spec.rb +13 -3
  85. data/spec/spec_helper.rb +0 -1
  86. metadata +93 -33
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-rails-4.3.1/vendor/assets/javascripts/jquery_ujs.js?type=application/javascript&pipeline=self&id=86e29a60803d7db1e4d4bee431077f5757c529a356b2c828f7cd3f21ba26fe50:ET
@@ -0,0 +1 @@
1
+ "%��к|8�� �"���!��m�Q�~'m�4L'
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/ie.js?type=application/javascript&pipeline=self&id=800f02044272c00a34364bb25ce41aa593cef8ef6783f06665579b28c40ba59d:ET
@@ -0,0 +1 @@
1
+ I"/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/scroll-parent.js?type=application/javascript&pipeline=self&id=73637d0d09b586c9e98259641ec7f1d66ac71848dc62a45e11a9160d09f9b638:ET
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/version.js?type=application/javascript&pipeline=self&id=c2555c3534a2a98bbf9e172d6fbbdc0f4589485b5ea909ebb9dbe739566eee3c:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=debug&id=fc91ed47dabe8effd38243d871373ccf622b4ad68629aa08694431856fe14eaf:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/items.js?type=application/javascript&pipeline=self&id=36ebf0bf67e045d7b3470d5f7c7063d943152d98024608a2737b90a77a4e239f:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=83df322662f748b827ee298c4bd5ba47a0d62b53f2f14eaf9025ee5eebd94d38:ET
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-rails-4.3.1/vendor/assets/javascripts/jquery.js?type=application/javascript&pipeline=self&id=592347aef1813070dc6b78153b33fddf270bb5b06b616131adc7c9f4bef817fb:ET
@@ -0,0 +1 @@
1
+ I"}app/assets/stylesheets/application.css?type=text/css&id=d90dce2c351ae24ef0707882823d424ecfe3d6400dd0a8525d7b8293294d10b8:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/sequenced_items.js?type=application/javascript&pipeline=self&id=f7adf352b07536bf081ef50b5c774befd09873fa0a1cce4772f2c856563583e3:ET
@@ -0,0 +1 @@
1
+ I"/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/widgets/sortable.js?type=application/javascript&pipeline=self&id=5d0652a646e8393818fbf936c1494e2e3d4b56f414a0e57d43cea45450a9e417:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&id=7daa19b32bb8d862affb300ad1fd37b1923d23f2e02b35f67efad1e082ccc2c3:ET
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/widget.js?type=application/javascript&pipeline=self&id=74d908af4e23c5319cd0acc8e7a0237355818d98874fb57764aeb43e6e8ed28b:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/stylesheets/application.css?type=text/css&pipeline=debug&id=8b0e4add47d13c32eeb75518ba0990cb8f004e78e20182a2b51ab46772435e94:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/javascripts/application.js?type=application/javascript&pipeline=self&id=e849dffe99a95c52f19a7901a980e5a507effbd9eea368d34fccd69fcc9cf861:ET
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/assets/javascripts/plugin.js?type=application/javascript&pipeline=self&id=55ed3869f7cd0b44ccf73564b479f181e79467e5d830ee44b4f7fbe4a3a855e3:ET
@@ -0,0 +1 @@
1
+ "%ù��6�"�ݪ �6�%������bKu(��i
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/assets/javascripts/rails_sortable.js?type=application/javascript&pipeline=self&id=0e39e5fa81aabf8c1d8ddef1604b870a61d64d1aa4acbd7313be79730b19ec98:ET
@@ -0,0 +1 @@
1
+ I"�/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/data.js?type=application/javascript&pipeline=self&id=b811ea72c2af6194619b1a17ad81ddb165100f544716ec7438d924c6e05ffb93:ET
@@ -0,0 +1 @@
1
+ I"�app/assets/stylesheets/scaffold.css?type=text/css&pipeline=self&id=e067ecacf8bb41af1e296d5d649bceef319a8bad58093f50294a45e656038dbd:ET
@@ -0,0 +1 @@
1
+ I"/Users/madmax/Programs/itmammoth/rails_sortable/vendor/bundle/ruby/2.4.0/gems/jquery-ui-rails-6.0.1/app/assets/javascripts/jquery-ui/widgets/mouse.js?type=application/javascript&pipeline=self&id=900d38e2ef4f3047f70465bbda73c786007cf6b916a09be3542095ef3db3904e:ET
@@ -9,7 +9,7 @@ describe SortableHelper, type: :helper do
9
9
  end
10
10
 
11
11
  context "with no block" do
12
- it { expect { helper.sortable_fetch(Array.new) }.to raise_error('You must call with block!') }
12
+ it { expect { helper.sortable_fetch(Array.new) }.to raise_error('Must be called with block!') }
13
13
  end
14
14
 
15
15
  context "with block" do
@@ -26,11 +26,11 @@ describe RailsSortable::Model, type: :model do
26
26
  end
27
27
  end
28
28
 
29
- describe "silence_recording_timestamps" do
29
+ describe "without_updating_timestamps" do
30
30
  context "when optional value is true" do
31
31
  before do
32
32
  Item.class_eval do
33
- set_sortable :sort, silence_recording_timestamps: true
33
+ set_sortable :sort, without_updating_timestamps: true
34
34
  end
35
35
  end
36
36
  it "should NOT modify timestamps" do
@@ -42,7 +42,7 @@ describe RailsSortable::Model, type: :model do
42
42
  context "when optional value is NOT true" do
43
43
  before do
44
44
  Item.class_eval do
45
- set_sortable :sort, silence_recording_timestamps: false
45
+ set_sortable :sort, without_updating_timestamps: false
46
46
  end
47
47
  end
48
48
  it "should modify timestamps" do
@@ -52,4 +52,14 @@ describe RailsSortable::Model, type: :model do
52
52
  end
53
53
  end
54
54
  end
55
+
56
+ describe "each_with_sortable_id" do
57
+ it "should make models iterable with sortable ids" do
58
+ items = 2.times.map { |i| Item.create! sort: i }
59
+ expect { |b| Item.order(:sort).each_with_sortable_id(&b) }.to yield_successive_args(
60
+ [items[0], "Item_#{items[0].id}"],
61
+ [items[1], "Item_#{items[1].id}"],
62
+ )
63
+ end
64
+ end
55
65
  end
data/spec/spec_helper.rb CHANGED
@@ -2,7 +2,6 @@
2
2
  ENV["RAILS_ENV"] ||= 'test'
3
3
  require File.expand_path("../dummy/config/environment", __FILE__)
4
4
  require 'rspec/rails'
5
- require 'pry-rails'
6
5
 
7
6
  # Requires supporting ruby files with custom matchers and macros, etc,
8
7
  # in spec/support/ and its subdirectories.