ranked-model 0.4.4 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e92bbed2da4ae8cd7a3705fed451fb73a27b6eee
4
- data.tar.gz: da248775ef6a763b5a6342587fd5343c06db9adb
2
+ SHA256:
3
+ metadata.gz: c342543b3341c81d62ceca340fc0966a3386a6115fc2ee36f309582995f8af52
4
+ data.tar.gz: 25408af509201219ce0539dbfe3324c8b3806bce367d3e00b80a2f15dc6e7dc4
5
5
  SHA512:
6
- metadata.gz: 638948178a3dd3c45bdc811e43ea8b5ca2cd8401ae7a74124c97e2cf09d5a68381bcce5e810db1d42b311281a07633cfb69946c0994e8f1a1675fb564501e70b
7
- data.tar.gz: 3d37e0b29d0aac037f6ca3edf7258ffac9b17aefa55f46f472d0789999eddf37e5258ea30969a94d7f1543a95e63bf964d40b0d4c517354f6e64b057f1054cc0
6
+ metadata.gz: 139bcf7c985b68e017e03bb3718a4377ec878ec7b249ac32ad20900d1467e5026a093e82725f8e39e1d8a378a7db0959f6a37f7571d1bccae40e9b8f70244a55
7
+ data.tar.gz: ca739746fb067e6de9ae52bcb08f352fcdf676a02063e04f5d3b5f3b8a54d773ff57227d5dc5fca7c6d402155920b3da39c73d83d495680ff988f67248fac321
data/.gitignore CHANGED
@@ -5,3 +5,4 @@ pkg/*
5
5
 
6
6
  Gemfile.lock
7
7
  *.gemfile.lock
8
+ .ruby-version
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
+ --warnings
2
3
  --format documentation
@@ -1,49 +1,35 @@
1
- sudo: false # use newer travis infrastructure
2
1
  language: ruby
3
2
  cache: bundler
3
+ sudo: false
4
4
  before_install:
5
- - gem install bundler -v 1.16.1
5
+ - gem update --system
6
+ - gem install bundler
6
7
  before_script:
7
8
  - mysql -e 'create database ranked_model_test;'
8
9
  - psql -c 'create database ranked_model_test;' -U postgres
9
10
  rvm:
10
- - 1.9.3
11
- - 2.1.10
12
- - 2.2.10
13
- - 2.3.7
14
11
  - 2.4.4
15
12
  - 2.5.1
13
+ - 2.6.4
16
14
  - jruby-9.1.17.0
17
- - rbx-3.107
18
15
  env:
19
16
  - DB=sqlite
20
17
  - DB=mysql
21
18
  - DB=postgresql
19
+ services:
20
+ - mysql
21
+ - postgresql
22
22
  gemfile:
23
- - gemfiles/rails_4_1.gemfile
24
23
  - gemfiles/rails_4_2.gemfile
25
24
  - gemfiles/rails_5_0.gemfile
26
25
  - gemfiles/rails_5_1.gemfile
27
26
  - gemfiles/rails_5_2.gemfile
27
+ - gemfiles/rails_6_0.gemfile
28
28
  matrix:
29
29
  exclude:
30
- - rvm: 1.9.3
31
- gemfile: gemfiles/rails_5_0.gemfile
32
- - rvm: 1.9.3
33
- gemfile: gemfiles/rails_5_1.gemfile
34
- - rvm: 1.9.3
35
- gemfile: gemfiles/rails_5_2.gemfile
36
- - rvm: 2.1.10
37
- gemfile: gemfiles/rails_5_0.gemfile
38
- - rvm: 2.1.10
39
- gemfile: gemfiles/rails_5_1.gemfile
40
- - rvm: 2.1.10
41
- gemfile: gemfiles/rails_5_2.gemfile
42
30
  - rvm: jruby-9.1.17.0
43
31
  gemfile: gemfiles/rails_5_2.gemfile
44
32
  - rvm: 2.4.4
45
- gemfile: gemfiles/rails_4_1.gemfile
46
- - rvm: 2.5.1
47
- gemfile: gemfiles/rails_4_1.gemfile
48
- - rvm: rbx-3.107
49
- gemfile: gemfiles/rails_5_2.gemfile
33
+ gemfile: gemfiles/rails_6_0.gemfile
34
+ - rvm: jruby-9.1.17.0
35
+ gemfile: gemfiles/rails_6_0.gemfile
data/Appraisals CHANGED
@@ -1,81 +1,71 @@
1
- appraise "rails-4-1" do
1
+ appraise "rails-4-2" do
2
2
  group :sqlite do
3
- gem "sqlite3", "~> 1.3.13", platform: :ruby
4
3
  gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
5
4
  end
6
5
  group :mysql do
7
- gem "mysql2", "~> 0.3.21", platform: :ruby
6
+ gem "mysql2", "~> 0.4.0", platform: :ruby
8
7
  gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
9
8
  end
10
9
  group :postgresql do
11
- gem "pg", "~> 0.18.0", platform: :ruby
10
+ gem "pg", "~> 0.18.4", platform: :ruby
12
11
  gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
13
12
  end
14
13
 
15
- gem "activerecord", "~> 4.1.16"
14
+ gem "activerecord", "~> 4.2.0"
16
15
  end
17
16
 
18
- appraise "rails-4-2" do
17
+ appraise "rails-5-0" do
19
18
  group :sqlite do
20
- gem "sqlite3", "~> 1.3.13", platform: :ruby
21
- gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
19
+ gem "activerecord-jdbcsqlite3-adapter", "~> 50.0", platform: :jruby
22
20
  end
23
21
  group :mysql do
24
- gem "mysql2", "~> 0.4.10", platform: :ruby
25
- gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
22
+ gem "activerecord-jdbcmysql-adapter", "~> 50.0", platform: :jruby
26
23
  end
27
24
  group :postgresql do
28
- gem "pg", "~> 0.18.0", platform: :ruby
29
- gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
25
+ gem "activerecord-jdbcpostgresql-adapter", "~> 50.0", platform: :jruby
30
26
  end
31
27
 
32
- gem "activerecord", "~> 4.2.10"
28
+ gem "activerecord", "~> 5.0.0"
33
29
  end
34
30
 
35
- appraise "rails-5-0" do
31
+ appraise "rails-5-1" do
36
32
  group :sqlite do
37
- gem "sqlite3", "~> 1.3.13", platform: :ruby
38
- gem "activerecord-jdbcsqlite3-adapter", "~> 50.1", platform: :jruby
33
+ gem "activerecord-jdbcsqlite3-adapter", "~> 51.0", platform: :jruby
39
34
  end
40
35
  group :mysql do
41
- gem "mysql2", "~> 0.4.10", platform: :ruby
42
- gem "activerecord-jdbcmysql-adapter", "~> 50.1", platform: :jruby
36
+ gem "activerecord-jdbcmysql-adapter", "~> 51.0", platform: :jruby
43
37
  end
44
38
  group :postgresql do
45
- gem "pg", "~> 0.21.0", platform: :ruby
46
- gem "activerecord-jdbcpostgresql-adapter", "~> 50.1", platform: :jruby
39
+ gem "activerecord-jdbcpostgresql-adapter", "~> 51.0", platform: :jruby
47
40
  end
48
41
 
49
- gem "activerecord", "~> 5.0.7"
42
+ gem "activerecord", "~> 5.1.0"
50
43
  end
51
44
 
52
- appraise "rails-5-1" do
45
+ appraise "rails-5-2" do
53
46
  group :sqlite do
54
- gem "sqlite3", "~> 1.3.13", platform: :ruby
55
- gem "activerecord-jdbcsqlite3-adapter", "~> 51.1", platform: :jruby
47
+ gem "activerecord-jdbcsqlite3-adapter", "~> 52.0", platform: :jruby
56
48
  end
57
49
  group :mysql do
58
- gem "mysql2", "~> 0.4.10", platform: :ruby
59
- gem "activerecord-jdbcmysql-adapter", "~> 51.1", platform: :jruby
50
+ gem "activerecord-jdbcmysql-adapter", "~> 52.0", platform: :jruby
60
51
  end
61
52
  group :postgresql do
62
- gem "pg", "~> 0.21.0", platform: :ruby
63
- gem "activerecord-jdbcpostgresql-adapter", "~> 51.1", platform: :jruby
53
+ gem "activerecord-jdbcpostgresql-adapter", "~> 52.0", platform: :jruby
64
54
  end
65
55
 
66
- gem "activerecord", "~> 5.1.6"
56
+ gem "activerecord", "~> 5.2.0"
67
57
  end
68
58
 
69
- appraise "rails-5-2" do
59
+ appraise "rails-6-0" do
70
60
  group :sqlite do
71
- gem "sqlite3", "~> 1.3.13", platform: :ruby
61
+ gem "sqlite3", "~> 1.4", platform: :ruby
62
+ gem "activerecord-jdbcsqlite3-adapter", "~> 60.0", platform: :jruby
72
63
  end
73
64
  group :mysql do
74
- gem "mysql2", "~> 0.4.10", platform: :ruby
65
+ gem "activerecord-jdbcmysql-adapter", "~> 60.0", platform: :jruby
75
66
  end
76
67
  group :postgresql do
77
- gem "pg", "~> 0.21.0", platform: :ruby
68
+ gem "activerecord-jdbcpostgresql-adapter", "~> 60.0", platform: :jruby
78
69
  end
79
-
80
- gem "activerecord", "~> 5.2.0"
81
- end
70
+ gem "activerecord", "~> 6.0.0"
71
+ end
data/Gemfile CHANGED
@@ -2,3 +2,15 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in ranked-model.gemspec
4
4
  gemspec
5
+
6
+ group :sqlite do
7
+ gem "sqlite3", "~> 1.3.13", platform: :ruby
8
+ end
9
+
10
+ group :postgresql do
11
+ gem "pg", "~> 1.1.4", platform: :ruby
12
+ end
13
+
14
+ group :mysql do
15
+ gem "mysql2", "~> 0.5.0", platform: :ruby
16
+ end
data/Readme.mkd CHANGED
@@ -5,7 +5,7 @@
5
5
  Installation
6
6
  ------------
7
7
 
8
- ranked-model passes specs with Rails 4.1, 4.2, 5.0, 5.1 and 5.2 for MySQL, Postgres, and SQLite on Ruby 1.9.3, 2.1 through 2.5, jruby-9.1.17.0, and rbx-3.107 where Rails supports the platform. This is with the exception of Postgres before Rails 4.0 on all platforms, which is unsupported by `ranked-model`. Note that the `pg` gem has pulled support for rbx (Rubinius) from version 1 onward.
8
+ ranked-model passes specs with Rails 4.2, 5.0, 5.1, 5.2, 6.0 for MySQL, Postgres, and SQLite on Ruby 2.4 through 2.6, and jruby-9.1.17.0 where Rails supports the platform. This is with the exception of Postgres before Rails 4.0 on all platforms, which is unsupported by `ranked-model`. Note that the `pg` gem has pulled support for rbx (Rubinius) from version 1 onward.
9
9
 
10
10
  TL;DR, if you are using Rails 4 and up you are 100% good to go. Before Rails 4, be wary of Postgres.
11
11
 
@@ -52,7 +52,7 @@ The ranking integers stored in the `row_order` column will be big and spaced apa
52
52
  implement a sorting UI, just update the resource by appending the column name with `_position` and indicating the desired position:
53
53
 
54
54
  ``` ruby
55
- @duck.update_attribute :row_order_position, 0 # or 1, 2, 37. :first, :last, :up and :down are also valid
55
+ @duck.update :row_order_position => 0 # or 1, 2, 37. :first, :last, :up and :down are also valid
56
56
  ```
57
57
 
58
58
  **IMPORTANT: Note that you MUST append _position to the column name when setting a new position on an instance. This is a fake column that can take relative as well as absolute index-based values for position.**
@@ -2,21 +2,21 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 4.2.10"
5
+ gem "activerecord", "~> 4.2.0"
6
6
 
7
7
  group :sqlite do
8
8
  gem "sqlite3", "~> 1.3.13", platform: :ruby
9
9
  gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
10
10
  end
11
11
 
12
- group :mysql do
13
- gem "mysql2", "~> 0.4.10", platform: :ruby
14
- gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
15
- end
16
-
17
12
  group :postgresql do
18
- gem "pg", "~> 0.18.0", platform: :ruby
13
+ gem "pg", "~> 0.18.4", platform: :ruby
19
14
  gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
20
15
  end
21
16
 
17
+ group :mysql do
18
+ gem "mysql2", "~> 0.4.0", platform: :ruby
19
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
20
+ end
21
+
22
22
  gemspec path: "../"
@@ -2,21 +2,21 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 5.0.7"
5
+ gem "activerecord", "~> 5.0.0"
6
6
 
7
7
  group :sqlite do
8
8
  gem "sqlite3", "~> 1.3.13", platform: :ruby
9
- gem "activerecord-jdbcsqlite3-adapter", "~> 50.1", platform: :jruby
9
+ gem "activerecord-jdbcsqlite3-adapter", "~> 50.0", platform: :jruby
10
10
  end
11
11
 
12
- group :mysql do
13
- gem "mysql2", "~> 0.4.10", platform: :ruby
14
- gem "activerecord-jdbcmysql-adapter", "~> 50.1", platform: :jruby
12
+ group :postgresql do
13
+ gem "pg", "~> 1.1.4", platform: :ruby
14
+ gem "activerecord-jdbcpostgresql-adapter", "~> 50.0", platform: :jruby
15
15
  end
16
16
 
17
- group :postgresql do
18
- gem "pg", "~> 0.21.0", platform: :ruby
19
- gem "activerecord-jdbcpostgresql-adapter", "~> 50.1", platform: :jruby
17
+ group :mysql do
18
+ gem "mysql2", "~> 0.5.0", platform: :ruby
19
+ gem "activerecord-jdbcmysql-adapter", "~> 50.0", platform: :jruby
20
20
  end
21
21
 
22
22
  gemspec path: "../"
@@ -2,21 +2,21 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 5.1.6"
5
+ gem "activerecord", "~> 5.1.0"
6
6
 
7
7
  group :sqlite do
8
8
  gem "sqlite3", "~> 1.3.13", platform: :ruby
9
- gem "activerecord-jdbcsqlite3-adapter", "~> 51.1", platform: :jruby
9
+ gem "activerecord-jdbcsqlite3-adapter", "~> 51.0", platform: :jruby
10
10
  end
11
11
 
12
- group :mysql do
13
- gem "mysql2", "~> 0.4.10", platform: :ruby
14
- gem "activerecord-jdbcmysql-adapter", "~> 51.1", platform: :jruby
12
+ group :postgresql do
13
+ gem "pg", "~> 1.1.4", platform: :ruby
14
+ gem "activerecord-jdbcpostgresql-adapter", "~> 51.0", platform: :jruby
15
15
  end
16
16
 
17
- group :postgresql do
18
- gem "pg", "~> 0.21.0", platform: :ruby
19
- gem "activerecord-jdbcpostgresql-adapter", "~> 51.1", platform: :jruby
17
+ group :mysql do
18
+ gem "mysql2", "~> 0.5.0", platform: :ruby
19
+ gem "activerecord-jdbcmysql-adapter", "~> 51.0", platform: :jruby
20
20
  end
21
21
 
22
22
  gemspec path: "../"
@@ -6,14 +6,17 @@ gem "activerecord", "~> 5.2.0"
6
6
 
7
7
  group :sqlite do
8
8
  gem "sqlite3", "~> 1.3.13", platform: :ruby
9
+ gem "activerecord-jdbcsqlite3-adapter", "~> 52.0", platform: :jruby
9
10
  end
10
11
 
11
- group :mysql do
12
- gem "mysql2", "~> 0.4.10", platform: :ruby
12
+ group :postgresql do
13
+ gem "pg", "~> 1.1.4", platform: :ruby
14
+ gem "activerecord-jdbcpostgresql-adapter", "~> 52.0", platform: :jruby
13
15
  end
14
16
 
15
- group :postgresql do
16
- gem "pg", "~> 0.21.0", platform: :ruby
17
+ group :mysql do
18
+ gem "mysql2", "~> 0.5.0", platform: :ruby
19
+ gem "activerecord-jdbcmysql-adapter", "~> 52.0", platform: :jruby
17
20
  end
18
21
 
19
22
  gemspec path: "../"
@@ -0,0 +1,22 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 6.0.0"
6
+
7
+ group :sqlite do
8
+ gem "sqlite3", "~> 1.4", platform: :ruby
9
+ gem "activerecord-jdbcsqlite3-adapter", "~> 60.0", platform: :jruby
10
+ end
11
+
12
+ group :postgresql do
13
+ gem "pg", "~> 1.1.4", platform: :ruby
14
+ gem "activerecord-jdbcpostgresql-adapter", "~> 60.0", platform: :jruby
15
+ end
16
+
17
+ group :mysql do
18
+ gem "mysql2", "~> 0.5.0", platform: :ruby
19
+ gem "activerecord-jdbcmysql-adapter", "~> 60.0", platform: :jruby
20
+ end
21
+
22
+ gemspec path: "../"
@@ -69,7 +69,7 @@ module RankedModel
69
69
  end
70
70
 
71
71
  def column_default ranker
72
- column_defaults[ranker.name.to_s] if ActiveRecord::Base.connected?
72
+ column_defaults[ranker.name.to_s] if ActiveRecord::Base.connected? && table_exists?
73
73
  end
74
74
 
75
75
  end
@@ -175,7 +175,7 @@ module RankedModel
175
175
 
176
176
  def assure_unique_position
177
177
  if ( new_record? || rank_changed? )
178
- if (rank > RankedModel::MAX_RANK_VALUE) || current_at_rank(rank)
178
+ if (rank > RankedModel::MAX_RANK_VALUE) || rank_taken?
179
179
  rearrange_ranks
180
180
  end
181
181
  end
@@ -211,10 +211,12 @@ module RankedModel
211
211
  def rebalance_ranks
212
212
  if rank && instance.persisted?
213
213
  origin = current_order.index { |item| item.instance.id == instance.id }
214
- destination = current_order.index { |item| rank <= item.rank }
215
- destination -= 1 if origin < destination
214
+ if origin
215
+ destination = current_order.index { |item| rank <= item.rank }
216
+ destination -= 1 if origin < destination
216
217
 
217
- current_order.insert destination, current_order.delete_at(origin)
218
+ current_order.insert destination, current_order.delete_at(origin)
219
+ end
218
220
  end
219
221
 
220
222
  gaps = current_order.size + 1
@@ -290,13 +292,8 @@ module RankedModel
290
292
  end
291
293
  end
292
294
 
293
- def current_at_rank _rank
294
- if (ordered_instance = finder.
295
- except( :order ).
296
- where( ranker.column => _rank ).
297
- first)
298
- RankedModel::Ranker::Mapper.new ranker, ordered_instance
299
- end
295
+ def rank_taken?
296
+ finder.except(:order).where(ranker.column => rank).exists?
300
297
  end
301
298
 
302
299
  def neighbors_at_position _pos
@@ -1,3 +1,3 @@
1
1
  module RankedModel
2
- VERSION = "0.4.4"
2
+ VERSION = "0.4.5"
3
3
  end
@@ -9,11 +9,11 @@ Gem::Specification.new do |s|
9
9
  s.authors = ["Matthew Beale"]
10
10
  s.email = ["matt.beale@madhatted.com"]
11
11
  s.homepage = "https://github.com/mixonic/ranked-model"
12
- s.summary = %q{An acts_as_sortable replacement built for Rails 3 & 4}
13
- s.description = %q{ranked-model is a modern row sorting library built for Rails 3 & 4. It uses ARel aggressively and is better optimized than most other libraries.}
12
+ s.summary = %q{An acts_as_sortable replacement built for Rails 4.2+}
13
+ s.description = %q{ranked-model is a modern row sorting library built for Rails 4.2+. It uses ARel aggressively and is better optimized than most other libraries.}
14
14
  s.license = 'MIT'
15
15
 
16
- s.add_dependency "activerecord", ">= 4.1.16"
16
+ s.add_dependency "activerecord", ">= 4.2"
17
17
  s.add_development_dependency "rspec", "~> 3"
18
18
  s.add_development_dependency "rspec-its"
19
19
  s.add_development_dependency "mocha"
@@ -22,7 +22,7 @@ describe 'ColumnDefaultDuck' do
22
22
  end
23
23
  }.not_to raise_error
24
24
  ensure
25
- ActiveRecord::Base.establish_connection(DB_CONFIG.to_sym)
25
+ ActiveRecord::Base.establish_connection(ENV['DB'].to_sym)
26
26
  end
27
27
  end
28
28
 
@@ -48,9 +48,9 @@ describe Duck do
48
48
  }
49
49
  @ducks.each { |name, duck|
50
50
  duck.reload
51
- duck.update_attribute :row_position, 0
52
- duck.update_attribute :size_position, 0
53
- duck.update_attribute :age_position, 0
51
+ duck.update :row_position => 0
52
+ duck.update :size_position => 0
53
+ duck.update :age_position => 0
54
54
  duck.save!
55
55
  }
56
56
  @ducks.each {|name, duck| duck.reload }
@@ -59,8 +59,8 @@ describe Duck do
59
59
  describe "sorting by size on in_shin_pond" do
60
60
 
61
61
  before {
62
- @ducks[:quacky].update_attribute :size_position, 0
63
- @ducks[:wingy].update_attribute :size_position, 2
62
+ @ducks[:quacky].update :size_position => 0
63
+ @ducks[:wingy].update :size_position => 2
64
64
  }
65
65
 
66
66
  subject { Duck.in_shin_pond.rank(:size).to_a }
@@ -76,8 +76,8 @@ describe Duck do
76
76
  describe "sorting by age on Shin pond" do
77
77
 
78
78
  before {
79
- @ducks[:feathers].update_attribute :age_position, 0
80
- @ducks[:wingy].update_attribute :age_position, 0
79
+ @ducks[:feathers].update :age_position => 0
80
+ @ducks[:wingy].update :age_position => 0
81
81
  }
82
82
 
83
83
  subject { Duck.where(:pond => 'Shin').rank(:age).to_a }
@@ -93,10 +93,10 @@ describe Duck do
93
93
  describe "sorting by row" do
94
94
 
95
95
  before {
96
- @ducks[:beaky].update_attribute :row_position, 0
97
- @ducks[:webby].update_attribute :row_position, 2
98
- @ducks[:waddly].update_attribute :row_position, 2
99
- @ducks[:wingy].update_attribute :row_position, 6
96
+ @ducks[:beaky].update :row_position => 0
97
+ @ducks[:webby].update :row_position => 2
98
+ @ducks[:waddly].update :row_position => 2
99
+ @ducks[:wingy].update :row_position => 6
100
100
  }
101
101
 
102
102
  subject { Duck.rank(:row).to_a }
@@ -112,13 +112,13 @@ describe Duck do
112
112
  describe "mixed sorting by" do
113
113
 
114
114
  before {
115
- @ducks[:quacky].update_attribute :size_position, 0
116
- @ducks[:beaky].update_attribute :row_position, 0
117
- @ducks[:webby].update_attribute :row_position, 2
118
- @ducks[:wingy].update_attribute :size_position, 1
119
- @ducks[:waddly].update_attribute :row_position, 2
120
- @ducks[:wingy].update_attribute :row_position, 6
121
- @ducks[:webby].update_attribute :row_position, 6
115
+ @ducks[:quacky].update :size_position => 0
116
+ @ducks[:beaky].update :row_position => 0
117
+ @ducks[:webby].update :row_position => 2
118
+ @ducks[:wingy].update :size_position => 1
119
+ @ducks[:waddly].update :row_position => 2
120
+ @ducks[:wingy].update :row_position => 6
121
+ @ducks[:webby].update :row_position => 6
122
122
  }
123
123
 
124
124
  describe "row" do
@@ -153,7 +153,7 @@ describe Duck do
153
153
  # puts Duck.rank(:age).collect {|duck| "#{duck.name} #{duck.age}" }
154
154
  duck = Duck.rank(:age)[2]
155
155
  expect(->{
156
- duck.update_attribute :name, 'New Name'
156
+ duck.update :name => 'New Name'
157
157
  }).to_not change(duck.reload, :age)
158
158
  # puts Duck.rank(:age).collect {|duck| "#{duck.name} #{duck.age}" }
159
159
  end
@@ -187,7 +187,7 @@ describe Duck do
187
187
 
188
188
  before {
189
189
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect {|duck| duck.id }
190
- @ducks[:wingy].update_attribute :row_position, 2
190
+ @ducks[:wingy].update :row_position => 2
191
191
  }
192
192
 
193
193
  context {
@@ -214,7 +214,7 @@ describe Duck do
214
214
 
215
215
  before {
216
216
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect {|duck| duck.id }
217
- @ducks[:wingy].update_attribute :row_position, 0
217
+ @ducks[:wingy].update :row_position => 0
218
218
  }
219
219
 
220
220
  context {
@@ -254,7 +254,7 @@ describe Duck do
254
254
 
255
255
  context {
256
256
 
257
- before { @ducks[:wingy].update_attribute :row_position, (@ducks.size - 2) }
257
+ before { @ducks[:wingy].update :row_position => (@ducks.size - 2) }
258
258
 
259
259
  subject { Duck.ranker(:row).with(Duck.new).current_at_position(@ducks.size - 2).instance }
260
260
 
@@ -264,7 +264,7 @@ describe Duck do
264
264
 
265
265
  context {
266
266
 
267
- before { @ducks[:wingy].update_attribute :row_position, :down }
267
+ before { @ducks[:wingy].update :row_position => :down }
268
268
 
269
269
  subject { Duck.ranker(:row).with(Duck.new).current_at_position(@ducks.size - 2).instance }
270
270
 
@@ -278,7 +278,7 @@ describe Duck do
278
278
 
279
279
  before {
280
280
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect {|duck| duck.id }
281
- @ducks[:wingy].update_attribute :row_position, (@ducks.size - 1)
281
+ @ducks[:wingy].update :row_position => (@ducks.size - 1)
282
282
  }
283
283
 
284
284
  context {
@@ -319,7 +319,7 @@ describe Duck do
319
319
 
320
320
  before {
321
321
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect {|duck| duck.id }
322
- @ducks[:wingy].update_attribute :row_position, :last
322
+ @ducks[:wingy].update :row_position => :last
323
323
  }
324
324
 
325
325
  context {
@@ -360,7 +360,7 @@ describe Duck do
360
360
 
361
361
  before {
362
362
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect {|duck| duck.id }
363
- @ducks[:wingy].update_attribute :row_position, 'last'
363
+ @ducks[:wingy].update :row_position => 'last'
364
364
  }
365
365
 
366
366
  context {
@@ -403,7 +403,7 @@ describe Duck do
403
403
 
404
404
  before {
405
405
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect { |duck| duck.id }
406
- @ducks[:wingy].update_attribute :row_position, :down
406
+ @ducks[:wingy].update :row_position => :down
407
407
  }
408
408
 
409
409
  context {
@@ -430,7 +430,7 @@ describe Duck do
430
430
 
431
431
  before {
432
432
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:quacky].id).collect { |duck| duck.id }
433
- @ducks[:quacky].update_attribute :row_position, :down
433
+ @ducks[:quacky].update :row_position => :down
434
434
  }
435
435
 
436
436
  context {
@@ -455,7 +455,7 @@ describe Duck do
455
455
 
456
456
  before {
457
457
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:feathers].id).collect { |duck| duck.id }
458
- @ducks[:feathers].update_attribute :row_position, :down
458
+ @ducks[:feathers].update :row_position => :down
459
459
  }
460
460
 
461
461
  context {
@@ -484,7 +484,7 @@ describe Duck do
484
484
 
485
485
  before {
486
486
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect { |duck| duck.id }
487
- @ducks[:wingy].update_attribute :row_position, 'down'
487
+ @ducks[:wingy].update :row_position => 'down'
488
488
  }
489
489
 
490
490
  context {
@@ -511,7 +511,7 @@ describe Duck do
511
511
 
512
512
  before {
513
513
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:quacky].id).collect { |duck| duck.id }
514
- @ducks[:quacky].update_attribute :row_position, 'down'
514
+ @ducks[:quacky].update :row_position => 'down'
515
515
  }
516
516
 
517
517
  context {
@@ -536,7 +536,7 @@ describe Duck do
536
536
 
537
537
  before {
538
538
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:feathers].id).collect { |duck| duck.id }
539
- @ducks[:feathers].update_attribute :row_position, 'down'
539
+ @ducks[:feathers].update :row_position => 'down'
540
540
  }
541
541
 
542
542
  context {
@@ -565,7 +565,7 @@ describe Duck do
565
565
 
566
566
  before {
567
567
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect { |duck| duck.id }
568
- @ducks[:wingy].update_attribute :row_position, :up
568
+ @ducks[:wingy].update :row_position => :up
569
569
  }
570
570
 
571
571
  context {
@@ -592,7 +592,7 @@ describe Duck do
592
592
 
593
593
  before {
594
594
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:beaky].id).collect { |duck| duck.id }
595
- @ducks[:beaky].update_attribute :row_position, :up
595
+ @ducks[:beaky].update :row_position => :up
596
596
  }
597
597
 
598
598
  context {
@@ -617,7 +617,7 @@ describe Duck do
617
617
 
618
618
  before {
619
619
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:waddly].id).collect { |duck| duck.id }
620
- @ducks[:waddly].update_attribute :row_position, :up
620
+ @ducks[:waddly].update :row_position => :up
621
621
  }
622
622
 
623
623
  context {
@@ -645,7 +645,7 @@ describe Duck do
645
645
  Duck.where(id: @ducks[name].id).update_all(row: i)
646
646
  @ducks[name].reload
647
647
  end
648
- @ducks[:wingy].update_attribute :row_position, :up
648
+ @ducks[:wingy].update :row_position => :up
649
649
  }
650
650
 
651
651
  context {
@@ -675,7 +675,7 @@ describe Duck do
675
675
 
676
676
  before {
677
677
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:wingy].id).collect { |duck| duck.id }
678
- @ducks[:wingy].update_attribute :row_position, 'up'
678
+ @ducks[:wingy].update :row_position => 'up'
679
679
  }
680
680
 
681
681
  context {
@@ -702,7 +702,7 @@ describe Duck do
702
702
 
703
703
  before {
704
704
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:beaky].id).collect { |duck| duck.id }
705
- @ducks[:beaky].update_attribute :row_position, 'up'
705
+ @ducks[:beaky].update :row_position => 'up'
706
706
  }
707
707
 
708
708
  context {
@@ -727,7 +727,7 @@ describe Duck do
727
727
 
728
728
  before {
729
729
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_eq @ducks[:waddly].id).collect { |duck| duck.id }
730
- @ducks[:waddly].update_attribute :row_position, 'up'
730
+ @ducks[:waddly].update :row_position => 'up'
731
731
  }
732
732
 
733
733
  context {
@@ -779,6 +779,36 @@ describe Duck do
779
779
  }
780
780
  end
781
781
 
782
+ describe "when moving between ponds should work when rebalancing" do
783
+
784
+ before {
785
+ [:feathers, :wingy, :webby, :waddly, :beaky].each_with_index do |name, i|
786
+ Duck.where(id: @ducks[name].id).update_all(age: RankedModel::MIN_RANK_VALUE + i, pond: "Boyden")
787
+ @ducks[name].reload
788
+ end
789
+
790
+ Duck.find_by(id: @ducks[:quacky]).update!(age_position: 2, pond: "Boyden")
791
+ }
792
+
793
+ context {
794
+ subject { Duck.find_by(id: @ducks[:feathers]).age_rank }
795
+
796
+ it { should == 0 }
797
+ }
798
+
799
+ context {
800
+ subject { Duck.find_by(id: @ducks[:quacky]).age_rank }
801
+
802
+ it { should == 2 }
803
+ }
804
+
805
+ context {
806
+ subject { Duck.find_by(id: @ducks[:beaky]).age_rank }
807
+
808
+ it { should == 5 }
809
+ }
810
+ end
811
+
782
812
  end
783
813
 
784
814
  describe Duck do
@@ -812,7 +842,7 @@ describe Duck do
812
842
  }
813
843
  @ducks.each { |name, duck|
814
844
  duck.reload
815
- duck.update_attribute :landing_order_position, 0
845
+ duck.update :landing_order_position => 0
816
846
  duck.save!
817
847
  }
818
848
  @ducks.each {|name, duck| duck.reload }
@@ -821,8 +851,8 @@ describe Duck do
821
851
  describe "sorting by landing_order" do
822
852
 
823
853
  before {
824
- @ducks[:quacky].update_attribute :landing_order_position, 0
825
- @ducks[:wingy].update_attribute :landing_order_position, 1
854
+ @ducks[:quacky].update :landing_order_position => 0
855
+ @ducks[:wingy].update :landing_order_position => 1
826
856
  }
827
857
 
828
858
  subject { Duck.in_lake_and_flock(0,0).rank(:landing_order).to_a }
@@ -846,10 +876,10 @@ describe Duck do
846
876
 
847
877
  @previous_ranks = @untouchable_ranks.call
848
878
 
849
- @ducks[:quacky].update_attribute :landing_order_position, 0
850
- @ducks[:wingy].update_attribute :landing_order_position, 1
851
- @ducks[:feathers].update_attribute :landing_order_position, 0
852
- @ducks[:wingy].update_attribute :landing_order_position, 1
879
+ @ducks[:quacky].update :landing_order_position => 0
880
+ @ducks[:wingy].update :landing_order_position => 1
881
+ @ducks[:feathers].update :landing_order_position => 0
882
+ @ducks[:wingy].update :landing_order_position => 1
853
883
  }
854
884
 
855
885
  subject { @untouchable_ranks.call }
@@ -29,7 +29,7 @@ describe Duck do
29
29
 
30
30
  before {
31
31
  @last = Duck.last
32
- @last.update_attribute :row_position, 137
32
+ @last.update :row_position => 137
33
33
  }
34
34
 
35
35
  subject { Duck.ranker(:row).with(Duck.new).current_at_position(137).instance }
@@ -42,7 +42,7 @@ describe Duck do
42
42
 
43
43
  before {
44
44
  @last = Duck.last
45
- @last.update_attribute :row_position, 2
45
+ @last.update :row_position => 2
46
46
  }
47
47
 
48
48
  subject { Duck.ranker(:row).with(Duck.new).current_at_position(2).instance }
@@ -55,7 +55,7 @@ describe Duck do
55
55
 
56
56
  before {
57
57
  @last = Duck.last
58
- @last.update_attribute :row_position, :last
58
+ @last.update :row_position => :last
59
59
  }
60
60
 
61
61
  subject { Duck.rank(:row).last }
@@ -68,7 +68,7 @@ describe Duck do
68
68
 
69
69
  before {
70
70
  @last = Duck.last
71
- @last.update_attribute :row_position, :first
71
+ @last.update :row_position => :first
72
72
  }
73
73
 
74
74
  subject { Duck.rank(:row).first }
@@ -87,8 +87,8 @@ describe Duck do
87
87
  @first = Duck.first
88
88
  @second = Duck.offset(1).first
89
89
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_in([@first.id, @second.id])).collect {|d| d.id }
90
- @first.update_attribute :row, RankedModel::MAX_RANK_VALUE
91
- @second.update_attribute :row, RankedModel::MAX_RANK_VALUE
90
+ @first.update :row => RankedModel::MAX_RANK_VALUE
91
+ @second.update :row => RankedModel::MAX_RANK_VALUE
92
92
  }
93
93
 
94
94
  context {
@@ -105,13 +105,13 @@ describe Duck do
105
105
 
106
106
  before {
107
107
  Duck.first(50).each_with_index do |d, index|
108
- d.update_attributes :age => index % 10, :pond => "Pond #{index / 10}"
108
+ d.update :age => index % 10, :pond => "Pond #{index / 10}"
109
109
  end
110
110
  @duck_11 = Duck.where(:pond => 'Pond 1').rank(:age).first
111
111
  @duck_12 = Duck.where(:pond => 'Pond 1').rank(:age).second
112
112
  @ordered = Duck.where(:pond => 'Pond 1').rank(:age).where(Duck.arel_table[:id].not_in([@duck_11.id, @duck_12.id])).collect {|d| d.id }
113
- @duck_11.update_attribute :age, RankedModel::MAX_RANK_VALUE
114
- @duck_12.update_attribute :age, RankedModel::MAX_RANK_VALUE
113
+ @duck_11.update :age => RankedModel::MAX_RANK_VALUE
114
+ @duck_12.update :age => RankedModel::MAX_RANK_VALUE
115
115
  }
116
116
 
117
117
  context {
@@ -133,8 +133,8 @@ describe Duck do
133
133
  @first = Duck.first
134
134
  @second = Duck.offset(1).first
135
135
  @ordered = Duck.rank(:row).where(Duck.arel_table[:id].not_in([@first.id, @second.id])).collect {|d| d.id }
136
- @first.update_attribute :row, RankedModel::MIN_RANK_VALUE
137
- @second.update_attribute :row, RankedModel::MIN_RANK_VALUE
136
+ @first.update :row => RankedModel::MIN_RANK_VALUE
137
+ @second.update :row => RankedModel::MIN_RANK_VALUE
138
138
  }
139
139
 
140
140
  context {
@@ -163,11 +163,11 @@ describe Duck do
163
163
  where(Duck.arel_table[:id].not_in([@first.id, @second.id, @third.id, @fourth.id, @fifth.id])).
164
164
  where(Duck.arel_table[:row].gteq(RankedModel::MAX_RANK_VALUE / 2)).
165
165
  collect {|d| d.id }
166
- @first.update_attribute :row, RankedModel::MIN_RANK_VALUE
167
- @second.update_attribute :row, RankedModel::MAX_RANK_VALUE
168
- @third.update_attribute :row, (RankedModel::MAX_RANK_VALUE / 2)
166
+ @first.update :row => RankedModel::MIN_RANK_VALUE
167
+ @second.update :row => RankedModel::MAX_RANK_VALUE
168
+ @third.update :row => (RankedModel::MAX_RANK_VALUE / 2)
169
169
  Duck.where(id: @fifth.id).update_all row: @third.row
170
- @fourth.update_attribute :row, @third.row
170
+ @fourth.update :row => @third.row
171
171
  }
172
172
 
173
173
  context {
@@ -10,7 +10,7 @@ describe Ego do
10
10
  }
11
11
  @egos.each { |name, ego|
12
12
  ego.reload
13
- ego.update_attribute :size_position, 0
13
+ ego.update :size_position => 0
14
14
  ego.save!
15
15
  }
16
16
  @egos.each {|name, ego| ego.reload }
@@ -19,8 +19,8 @@ describe Ego do
19
19
  describe "sorting on size alternative primary key" do
20
20
 
21
21
  before {
22
- @egos[:nick].update_attribute :size_position, 0
23
- @egos[:sally].update_attribute :size_position, 2
22
+ @egos[:nick].update :size_position => 0
23
+ @egos[:sally].update :size_position => 2
24
24
  }
25
25
 
26
26
  subject { Ego.rank(:size).to_a }
@@ -14,8 +14,8 @@ describe Number do
14
14
  @first = Number.first
15
15
  @second = Number.offset(1).first
16
16
  @ordered = Number.rank(:order).where(Number.arel_table[:id].not_in([@first.id, @second.id])).collect {|d| d.id }
17
- @first.update_attribute :order, RankedModel::MAX_RANK_VALUE
18
- @second.update_attribute :order, RankedModel::MAX_RANK_VALUE
17
+ @first.update :order => RankedModel::MAX_RANK_VALUE
18
+ @second.update :order => RankedModel::MAX_RANK_VALUE
19
19
  }
20
20
 
21
21
  context {
@@ -16,7 +16,7 @@ describe Player do
16
16
 
17
17
  describe "setting the position of a record that already exists" do
18
18
  it "sets the rank without error" do
19
- expect{@players[:bob].update_attributes! :score_position => 1}.to_not raise_error
19
+ expect{@players[:bob].update! :score_position => 1}.to_not raise_error
20
20
  end
21
21
  end
22
22
  end
@@ -12,7 +12,7 @@ describe Element do
12
12
  }
13
13
  @elements.each { |name, element|
14
14
  element.reload
15
- element.update_attribute :combination_order_position, 0
15
+ element.update :combination_order_position => 0
16
16
  }
17
17
  @elements.each {|name, element| element.reload }
18
18
  }
@@ -20,9 +20,9 @@ describe Element do
20
20
  describe "rebalancing on an STI class should not affect the other class" do
21
21
 
22
22
  before {
23
- @elements[:helium].update_attribute :combination_order_position, :first
24
- @elements[:xenon].update_attribute :combination_order_position, :first
25
- @elements[:argon].update_attribute :combination_order_position, :last
23
+ @elements[:helium].update :combination_order_position => :first
24
+ @elements[:xenon].update :combination_order_position => :first
25
+ @elements[:argon].update :combination_order_position => :last
26
26
 
27
27
  TransitionMetal.ranker(:combination_order).with(@elements[:chromium]).instance_eval { rebalance_ranks }
28
28
  }
@@ -40,16 +40,16 @@ describe Element do
40
40
  describe "setting positions on STI classes" do
41
41
 
42
42
  before {
43
- @elements[:helium].update_attribute :combination_order_position, :first
44
- @elements[:xenon].update_attribute :combination_order_position, :first
45
- @elements[:argon].update_attribute :combination_order_position, :first
46
-
47
- @elements[:chromium].update_attribute :combination_order_position, 1
48
- @elements[:manganese].update_attribute :combination_order_position, 1
49
- @elements[:manganese].update_attribute :combination_order_position, 0
50
- @elements[:chromium].update_attribute :combination_order_position, 0
51
- @elements[:manganese].update_attribute :combination_order_position, 0
52
- @elements[:chromium].update_attribute :combination_order_position, 0
43
+ @elements[:helium].update :combination_order_position => :first
44
+ @elements[:xenon].update :combination_order_position => :first
45
+ @elements[:argon].update :combination_order_position => :first
46
+
47
+ @elements[:chromium].update :combination_order_position => 1
48
+ @elements[:manganese].update :combination_order_position => 1
49
+ @elements[:manganese].update :combination_order_position => 0
50
+ @elements[:chromium].update :combination_order_position => 0
51
+ @elements[:manganese].update :combination_order_position => 0
52
+ @elements[:chromium].update :combination_order_position => 0
53
53
  }
54
54
 
55
55
  describe "NobleGas" do
@@ -81,16 +81,16 @@ describe Element do
81
81
  describe "setting positions on STI classes" do
82
82
 
83
83
  before {
84
- @elements[:helium].update_attribute :combination_order_position, :first
85
- @elements[:xenon].update_attribute :combination_order_position, :first
86
- @elements[:argon].update_attribute :combination_order_position, :first
87
-
88
- @elements[:chromium].update_attribute :combination_order_position, 1
89
- @elements[:manganese].update_attribute :combination_order_position, 1
90
- @elements[:manganese].update_attribute :combination_order_position, 0
91
- @elements[:chromium].update_attribute :combination_order_position, 0
92
- @elements[:manganese].update_attribute :combination_order_position, 0
93
- @elements[:chromium].update_attribute :combination_order_position, 0
84
+ @elements[:helium].update :combination_order_position => :first
85
+ @elements[:xenon].update :combination_order_position => :first
86
+ @elements[:argon].update :combination_order_position => :first
87
+
88
+ @elements[:chromium].update :combination_order_position => 1
89
+ @elements[:manganese].update :combination_order_position => 1
90
+ @elements[:manganese].update :combination_order_position => 0
91
+ @elements[:chromium].update :combination_order_position => 0
92
+ @elements[:manganese].update :combination_order_position => 0
93
+ @elements[:chromium].update :combination_order_position => 0
94
94
  }
95
95
 
96
96
  describe "NobleGas" do
@@ -12,7 +12,7 @@ describe Vehicle do
12
12
  }
13
13
  @vehicles.each { |name, vehicle|
14
14
  vehicle.reload
15
- vehicle.update_attribute :parking_order_position, 0
15
+ vehicle.update :parking_order_position => 0
16
16
  }
17
17
  @vehicles.each {|name, vehicle| vehicle.reload }
18
18
  }
@@ -20,8 +20,8 @@ describe Vehicle do
20
20
  describe "ranking by STI parent" do
21
21
 
22
22
  before {
23
- @vehicles[:volvo].update_attribute :parking_order_position, :first
24
- @vehicles[:ford].update_attribute :parking_order_position, :first
23
+ @vehicles[:volvo].update :parking_order_position => :first
24
+ @vehicles[:ford].update :parking_order_position => :first
25
25
  }
26
26
 
27
27
  describe "Vehicle" do
@@ -72,4 +72,4 @@ describe Vehicle do
72
72
 
73
73
  end
74
74
 
75
- end
75
+ end
@@ -1,13 +1,13 @@
1
1
  require 'active_record'
2
2
  require 'logger'
3
3
 
4
- ROOT = File.join(File.dirname(__FILE__), '..')
5
-
6
- DB_CONFIG = ENV["DB"] || "sqlite"
4
+ unless ENV['DB']
5
+ ENV['DB'] = 'sqlite'
6
+ end
7
7
 
8
8
  ActiveRecord::Base.logger = Logger.new('tmp/ar_debug.log')
9
9
  ActiveRecord::Base.configurations = YAML::load(IO.read('spec/support/database.yml'))
10
- ActiveRecord::Base.establish_connection(DB_CONFIG.to_sym)
10
+ ActiveRecord::Base.establish_connection(ENV['DB'].to_sym)
11
11
 
12
12
  ActiveRecord::Schema.define :version => 0 do
13
13
  create_table :ducks, :force => true do |t|
@@ -148,7 +148,7 @@ class MotorBike < Vehicle
148
148
  end
149
149
 
150
150
  class Ego < ActiveRecord::Base
151
- primary_key = :alternative_to_id
151
+ self.primary_key = :alternative_to_id
152
152
  include RankedModel
153
153
  ranks :size
154
154
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ranked-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Beale
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-23 00:00:00.000000000 Z
11
+ date: 2020-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.16
19
+ version: '4.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.16
26
+ version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description: ranked-model is a modern row sorting library built for Rails 3 & 4. It
125
+ description: ranked-model is a modern row sorting library built for Rails 4.2+. It
126
126
  uses ARel aggressively and is better optimized than most other libraries.
127
127
  email:
128
128
  - matt.beale@madhatted.com
@@ -138,11 +138,11 @@ files:
138
138
  - LICENSE
139
139
  - Rakefile
140
140
  - Readme.mkd
141
- - gemfiles/rails_4_1.gemfile
142
141
  - gemfiles/rails_4_2.gemfile
143
142
  - gemfiles/rails_5_0.gemfile
144
143
  - gemfiles/rails_5_1.gemfile
145
144
  - gemfiles/rails_5_2.gemfile
145
+ - gemfiles/rails_6_0.gemfile
146
146
  - lib/ranked-model.rb
147
147
  - lib/ranked-model/railtie.rb
148
148
  - lib/ranked-model/ranker.rb
@@ -183,11 +183,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.5.2.2
186
+ rubygems_version: 3.0.3
188
187
  signing_key:
189
188
  specification_version: 4
190
- summary: An acts_as_sortable replacement built for Rails 3 & 4
189
+ summary: An acts_as_sortable replacement built for Rails 4.2+
191
190
  test_files:
192
191
  - spec/duck-model/column_default_ducks_spec.rb
193
192
  - spec/duck-model/duck_spec.rb
@@ -1,22 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 4.1.16"
6
-
7
- group :sqlite do
8
- gem "sqlite3", "~> 1.3.13", platform: :ruby
9
- gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
10
- end
11
-
12
- group :mysql do
13
- gem "mysql2", "~> 0.3.21", platform: :ruby
14
- gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
15
- end
16
-
17
- group :postgresql do
18
- gem "pg", "~> 0.18.0", platform: :ruby
19
- gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
20
- end
21
-
22
- gemspec path: "../"