ranked-model 0.4.0 → 0.4.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 116f5fc0aeafe231cddba562c5135e868ba06604
4
- data.tar.gz: c720ee45d4532e3c96fb2d829788a2c43cdd7f8f
3
+ metadata.gz: 0bc1cd219c463a32552a7f583dbb9f52c95a356b
4
+ data.tar.gz: '0362078c1c550eb8da5e22fa2aa9c69864597f44'
5
5
  SHA512:
6
- metadata.gz: 00ca1355412ab2cc161edc2831bc685862f4996b33903a7bf5a65077e2a638e2f385d665db6e20bdfe50f59d93c8517cdf68c8e694a325680c4a2314e4adb677
7
- data.tar.gz: 72dbeebd7402e29238fb7219c0037f04ba588dba79e06ecbabf6ee9962cee67131b0b96246945639271b7585c63ebf6edb09274c7ba779ca864a336ba576af72
6
+ metadata.gz: e347568a8c34e9ce8ced2ba819fc8e9f3b297c4dadefff56c8eb0c43cafa12e872e508f4140ded18aea30b7aaed704979b7d2c42030c56f244ce930a150d1125
7
+ data.tar.gz: 3ebd264cd22bea1038055c36cf460c3e352b3cc4383bfdb3112134808341ee8b9d180782f21b48341003f15b3dbe199d704dfa0fea3cc5bacb396caf377cf8b1
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ pkg/*
4
4
  *.un~
5
5
 
6
6
  Gemfile.lock
7
+ *.gemfile.lock
@@ -1,82 +1,38 @@
1
+ sudo: false # use newer travis infrastructure
1
2
  language: ruby
3
+ cache: bundler
4
+ before_install:
5
+ - gem install bundler -v 1.16.1
2
6
  before_script:
3
7
  - mysql -e 'create database ranked_model_test;'
4
8
  - psql -c 'create database ranked_model_test;' -U postgres
5
9
  rvm:
6
- - "1.9.2"
7
- - "1.9.3"
8
- - "2.0.0"
9
- - "2.1.0"
10
- - "jruby-19mode"
11
- - "rbx"
10
+ - 1.9.3
11
+ - 2.1.10
12
+ - 2.2.10
13
+ - 2.3.7
14
+ - 2.4.4
15
+ - 2.5.1
16
+ - jruby-9.1.17.0
17
+ - rbx-3.100
12
18
  env:
13
- - "ACTIVERECORD_VERSION=4.1.0.beta1"
14
- - "ACTIVERECORD_VERSION=4.1.0.beta1 DB=mysql_travis"
15
- - "ACTIVERECORD_VERSION=4.1.0.beta1 DB=postgresql_travis"
16
- - "ACTIVERECORD_VERSION=4.0.2"
17
- - "ACTIVERECORD_VERSION=4.0.2 DB=mysql_travis"
18
- - "ACTIVERECORD_VERSION=4.0.2 DB=postgresql_travis"
19
- - "ACTIVERECORD_VERSION=3.2.16"
20
- - "ACTIVERECORD_VERSION=3.2.16 DB=mysql_travis"
21
- - "ACTIVERECORD_VERSION=3.2.16 DB=postgresql_travis"
22
- - "ACTIVERECORD_VERSION=3.1.12"
23
- - "ACTIVERECORD_VERSION=3.1.12 DB=mysql_travis"
24
- - "ACTIVERECORD_VERSION=3.1.12 DB=postgresql_travis"
25
- - "ACTIVERECORD_VERSION=master"
26
- - "ACTIVERECORD_VERSION=master DB=mysql_travis"
27
- - "ACTIVERECORD_VERSION=master DB=postgresql_travis"
19
+ - DB=sqlite
20
+ - DB=mysql
21
+ - DB=postgresql
22
+ gemfile:
23
+ - gemfiles/rails_3_2.gemfile
24
+ - gemfiles/rails_4_1.gemfile
25
+ - gemfiles/rails_4_2.gemfile
28
26
  matrix:
29
27
  exclude:
30
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1"
31
- rvm: "1.9.2"
32
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1 DB=mysql_travis"
33
- rvm: "1.9.2"
34
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1 DB=postgresql_travis"
35
- rvm: "1.9.2"
36
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1"
37
- rvm: "1.9.3"
38
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1 DB=mysql_travis"
39
- rvm: "1.9.3"
40
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1 DB=postgresql_travis"
41
- rvm: "1.9.3"
42
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1"
43
- rvm: "jruby-19mode"
44
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1 DB=mysql_travis"
45
- rvm: "jruby-19mode"
46
- - env: "ACTIVERECORD_VERSION=4.1.0.beta1 DB=postgresql_travis"
47
- rvm: "jruby-19mode"
48
- - env: "ACTIVERECORD_VERSION=master"
49
- rvm: "jruby-19mode"
50
- - env: "ACTIVERECORD_VERSION=master DB=mysql_travis"
51
- rvm: "jruby-19mode"
52
- - env: "ACTIVERECORD_VERSION=master DB=postgresql_travis"
53
- rvm: "jruby-19mode"
54
- - env: "ACTIVERECORD_VERSION=4.0.2"
55
- rvm: "1.9.2"
56
- - env: "ACTIVERECORD_VERSION=4.0.2 DB=mysql_travis"
57
- rvm: "1.9.2"
58
- - env: "ACTIVERECORD_VERSION=4.0.2 DB=postgresql_travis"
59
- rvm: "1.9.2"
60
- - env: "ACTIVERECORD_VERSION=master"
61
- rvm: "1.9.2"
62
- - env: "ACTIVERECORD_VERSION=master DB=mysql_travis"
63
- rvm: "1.9.2"
64
- - env: "ACTIVERECORD_VERSION=master DB=postgresql_travis"
65
- rvm: "1.9.2"
66
- - env: "ACTIVERECORD_VERSION=master"
67
- rvm: "1.9.3"
68
- - env: "ACTIVERECORD_VERSION=master DB=mysql_travis"
69
- rvm: "1.9.3"
70
- - env: "ACTIVERECORD_VERSION=master DB=postgresql_travis"
71
- rvm: "1.9.3"
72
- allow_failures:
73
- # Master may or may not pass
74
- - env: "ACTIVERECORD_VERSION=master"
75
- - env: "ACTIVERECORD_VERSION=master DB=mysql_travis"
76
- - env: "ACTIVERECORD_VERSION=master DB=postgresql_travis"
77
- # Rails 3.1 is incompatible with database cleaner 1.2
78
- - env: "ACTIVERECORD_VERSION=3.1.12 DB=mysql_travis"
79
- - env: "ACTIVERECORD_VERSION=3.1.12 DB=postgresql_travis"
80
- # Postgres is not supported before Rails 4.0.
81
- - env: "ACTIVERECORD_VERSION=3.1.12 DB=postgresql_travis"
82
- - env: "ACTIVERECORD_VERSION=3.2.16 DB=postgresql_travis"
28
+ - rvm: 2.4.4
29
+ gemfile: gemfiles/rails_3_2.gemfile
30
+ - rvm: 2.4.4
31
+ gemfile: gemfiles/rails_4_1.gemfile
32
+ - rvm: 2.5.1
33
+ gemfile: gemfiles/rails_3_2.gemfile
34
+ - rvm: 2.5.1
35
+ gemfile: gemfiles/rails_4_1.gemfile
36
+ - env: DB=postgresql
37
+ gemfile: gemfiles/rails_3_2.gemfile
38
+
@@ -0,0 +1,71 @@
1
+ appraise "rails-3-2" do
2
+ group :sqlite do
3
+ gem "sqlite3", platform: :ruby
4
+ gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
5
+ end
6
+ group :mysql do
7
+ gem "mysql2", "~> 0.3.21", platform: :ruby
8
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
9
+ end
10
+ group :postgresql do
11
+ gem "pg", "~> 0.18.0", platform: :ruby
12
+ gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
13
+ end
14
+
15
+ gem "activerecord", "~> 3.2.22.2"
16
+ end
17
+
18
+ appraise "rails-4-1" do
19
+ group :sqlite do
20
+ gem "sqlite3", platform: :ruby
21
+ gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
22
+ end
23
+ group :mysql do
24
+ gem "mysql2", "~> 0.3.21", platform: :ruby
25
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
26
+ end
27
+ group :postgresql do
28
+ gem "pg", "~> 0.18.0", platform: :ruby
29
+ gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
30
+ end
31
+
32
+ gem "activerecord", "~> 4.1.16"
33
+ end
34
+
35
+ appraise "rails-4-2" do
36
+ group :sqlite do
37
+ gem "sqlite3", platform: :ruby
38
+ gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
39
+ end
40
+ group :mysql do
41
+ gem "mysql2", "~> 0.4.10", platform: :ruby
42
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
43
+ end
44
+ group :postgresql do
45
+ gem "pg", "~> 0.18.0", platform: :ruby
46
+ gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
47
+ end
48
+
49
+ gem "activerecord", "~> 4.2.10"
50
+ end
51
+
52
+ # appraise "rails-5-0" do
53
+ # group :mysql do
54
+ # gem "mysql2", "~> 0.4.10", platform: :ruby
55
+ # end
56
+ # gem "activerecord", "~> 5.0.6"
57
+ # end
58
+
59
+ # appraise "rails-5-1" do
60
+ # group :mysql do
61
+ # gem "mysql2", "~> 0.4.10", platform: :ruby
62
+ # end
63
+ # gem "activerecord", "~> 5.1.4"
64
+ # end
65
+
66
+ # appraise "rails-5-2" do
67
+ # group :mysql do
68
+ # gem "mysql2", "~> 0.4.10", platform: :ruby
69
+ # end
70
+ # gem "activerecord", "~> 5.2.0.rc1"
71
+ # end
data/Gemfile CHANGED
@@ -3,30 +3,5 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in ranked-model.gemspec
4
4
  gemspec
5
5
 
6
- ar_version = ENV["ACTIVERECORD_VERSION"] || "default"
7
-
8
- ar_gem_version = case ar_version
9
- when "master"
10
- gem "activerecord", {github: "rails/rails"}
11
- when "default"
12
- # Allow the gemspec to specify
13
- else
14
- gem "activerecord", "~> #{ar_version}"
15
- end
16
-
17
- platforms :rbx do
18
- gem 'rubysl', '~> 2.0'
19
- gem 'rubinius-developer_tools'
20
- end
21
-
22
- # SQLite
23
- gem "activerecord-jdbcsqlite3-adapter", ">= 1.3.0", platforms: :jruby
24
- gem "sqlite3", platforms: :ruby
25
-
26
- # Postgres
27
- gem "activerecord-jdbcpostgresql-adapter", platforms: :jruby
28
- gem "pg", platforms: :ruby
29
-
30
- # MySQL
31
- gem "activerecord-jdbcmysql-adapter", platforms: :jruby
32
- gem "mysql", platforms: :ruby
6
+ gem 'rubysl', '~> 2.0', platform: :rbx
7
+ gem 'rubinius-developer_tools', platform: :rbx
data/Readme.mkd CHANGED
@@ -73,7 +73,7 @@ $.ajax({
73
73
  Complex Use
74
74
  -----------
75
75
 
76
- The `ranks` method takes serveral arguments:
76
+ The `ranks` method takes several arguments:
77
77
 
78
78
  ``` ruby
79
79
  class Duck < ActiveRecord::Base
@@ -104,12 +104,66 @@ Pond.first.ducks.rank(:swimming_order)
104
104
  Duck.walking.rank(:walking)
105
105
  ```
106
106
 
107
+ Single Table Inheritance (STI)
108
+ ------------------------------
109
+
110
+ ranked-model scopes your records' positions based on the class name of the object. If you have
111
+ a STI `type` column set in your model, ranked-model will reference that class for positioning.
112
+
113
+ Consider this example:
114
+
115
+ ``` ruby
116
+ class Vehicle < ActiveRecord::Base
117
+ ranks :row_order
118
+ end
119
+
120
+ class Car < Vehicle
121
+ end
122
+
123
+ class Truck < Vehicle
124
+ end
125
+
126
+ car = Car.create!
127
+ truck = Truck.create!
128
+
129
+ car.row_order
130
+ => 0
131
+ truck.row_order
132
+ => 0
133
+ ```
134
+
135
+ In this example, the `row_order` for both `car` and `truck` will be set to `0` because they have
136
+ different class names (`Car` and `Truck`, respectively).
137
+
138
+ If you would like for both `car` and `truck` to be ranked together based on the base `Vehicle`
139
+ class instead, use the `class_name` option:
140
+
141
+ ``` ruby
142
+ class Vehicle < ActiveRecord::Base
143
+ ranks :row_order, class_name: 'Vehicle'
144
+ end
145
+
146
+ class Car < Vehicle
147
+ end
148
+
149
+ class Truck < Vehicle
150
+ end
151
+
152
+ car = Car.create!
153
+ truck = Truck.create!
154
+
155
+ car.row_order
156
+ => 0
157
+ truck.row_order
158
+ => 4194304
159
+ ```
160
+
107
161
  Internals
108
162
  ---------
109
163
 
110
- This libarary is written using ARel from the ground-up. This leaves the code much cleaner
164
+ This library is written using ARel from the ground-up. This leaves the code much cleaner
111
165
  than many implementations. ranked-model is also optimized to write to the database as little
112
- as possible: ranks are stored as a number between -8388607 and 8388607 (the MEDIUMINT range in MySQL).
166
+ as possible: ranks are stored as a number between -2147483648 and 2147483647 (the INT range in MySQL).
113
167
  When an item is given a new position, it assigns itself a rank number between two neighbors.
114
168
  This allows several movements of items before no digits are available between two neighbors. When
115
169
  this occurs, ranked-model will try to shift other records out of the way. If items can't be easily
@@ -124,7 +178,7 @@ Fork, clone, write a test, write some code, commit, push, send a pull request.
124
178
  The specs can be run with sqlite, postgres, and mysql:
125
179
 
126
180
  ```
127
- DB=postgres bundle exec rake
181
+ DB=postgresql bundle exec rake
128
182
  ```
129
183
 
130
184
  Is no DB is specified, the tests run against sqlite.
@@ -0,0 +1,24 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rubysl", "~> 2.0", platform: :rbx
6
+ gem "rubinius-developer_tools", platform: :rbx
7
+ gem "activerecord", "~> 3.2.22.2"
8
+
9
+ group :sqlite do
10
+ gem "sqlite3", platform: :ruby
11
+ gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
12
+ end
13
+
14
+ group :mysql do
15
+ gem "mysql2", "~> 0.3.21", platform: :ruby
16
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
17
+ end
18
+
19
+ group :postgresql do
20
+ gem "pg", "~> 0.18.0", platform: :ruby
21
+ gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
22
+ end
23
+
24
+ gemspec path: "../"
@@ -0,0 +1,24 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rubysl", "~> 2.0", platform: :rbx
6
+ gem "rubinius-developer_tools", platform: :rbx
7
+ gem "activerecord", "~> 4.1.16"
8
+
9
+ group :sqlite do
10
+ gem "sqlite3", platform: :ruby
11
+ gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
12
+ end
13
+
14
+ group :mysql do
15
+ gem "mysql2", "~> 0.3.21", platform: :ruby
16
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
17
+ end
18
+
19
+ group :postgresql do
20
+ gem "pg", "~> 0.18.0", platform: :ruby
21
+ gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
22
+ end
23
+
24
+ gemspec path: "../"
@@ -0,0 +1,24 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rubysl", "~> 2.0", platform: :rbx
6
+ gem "rubinius-developer_tools", platform: :rbx
7
+ gem "activerecord", "~> 4.2.10"
8
+
9
+ group :sqlite do
10
+ gem "sqlite3", platform: :ruby
11
+ gem "activerecord-jdbcsqlite3-adapter", "~> 1.3.24", platform: :jruby
12
+ end
13
+
14
+ group :mysql do
15
+ gem "mysql2", "~> 0.4.10", platform: :ruby
16
+ gem "activerecord-jdbcmysql-adapter", "~> 1.3.24", platform: :jruby
17
+ end
18
+
19
+ group :postgresql do
20
+ gem "pg", "~> 0.18.0", platform: :ruby
21
+ gem "activerecord-jdbcpostgresql-adapter", "~> 1.3.24", platform: :jruby
22
+ end
23
+
24
+ gemspec path: "../"
@@ -3,10 +3,10 @@ require File.dirname(__FILE__)+'/ranked-model/railtie' if defined?(Rails::Railti
3
3
 
4
4
  module RankedModel
5
5
 
6
- # Signed MEDIUMINT in MySQL
6
+ # Signed INT in MySQL
7
7
  #
8
- MAX_RANK_VALUE = 8388607
9
- MIN_RANK_VALUE = -8388607
8
+ MAX_RANK_VALUE = 2147483647
9
+ MIN_RANK_VALUE = -2147483648
10
10
 
11
11
  def self.included base
12
12
 
@@ -40,11 +40,11 @@ module RankedModel
40
40
  when Symbol
41
41
  !instance.respond_to?(ranker.with_same)
42
42
  when Array
43
- ranker.with_same.detect {|attr| !instance.respond_to?(attr) }
43
+ array_element = ranker.with_same.detect {|attr| !instance.respond_to?(attr) }
44
44
  else
45
45
  false
46
46
  end)
47
- raise RankedModel::InvalidField, %Q{No field called "#{ranker.with_same}" found in model}
47
+ raise RankedModel::InvalidField, %Q{No field called "#{array_element || ranker.with_same}" found in model}
48
48
  end
49
49
  end
50
50
  end
@@ -215,7 +215,8 @@ module RankedModel
215
215
  end
216
216
 
217
217
  def finder(order = :asc)
218
- @finder ||= begin
218
+ @finder ||= {}
219
+ @finder[order] ||= begin
219
220
  _finder = instance_class
220
221
  columns = [instance_class.arel_table[instance_class.primary_key], instance_class.arel_table[ranker.column]]
221
222
  if ranker.scope
@@ -1,3 +1,3 @@
1
1
  module RankedModel
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_development_dependency "mocha", "~> 0.14.0"
21
21
  s.add_development_dependency "database_cleaner", "~> 1.2.0"
22
22
  s.add_development_dependency "rake", "~> 10.1.0"
23
+ s.add_development_dependency "appraisal"
23
24
 
24
25
  s.files = `git ls-files`.split("\n")
25
26
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -603,6 +603,35 @@ describe Duck do
603
603
 
604
604
  end
605
605
 
606
+ context "from position without gaps with rebalance" do
607
+
608
+ before {
609
+ [:quacky, :feathers, :wingy, :webby, :waddly, :beaky].each_with_index do |name, i|
610
+ Duck.where(id: @ducks[name].id).update_all(row: i)
611
+ @ducks[name].reload
612
+ end
613
+ @ducks[:wingy].update_attribute :row_position, :up
614
+ }
615
+
616
+ context {
617
+
618
+ subject { Duck.ranker(:row).with(Duck.new).current_at_position(1).instance }
619
+
620
+ its(:id) { should == @ducks[:wingy].id }
621
+
622
+ }
623
+
624
+ context {
625
+
626
+ subject { Duck.ranker(:row).with(Duck.new).current_at_position(2).instance }
627
+
628
+ its(:id) { should == @ducks[:feathers].id }
629
+
630
+ }
631
+
632
+ end
633
+
634
+
606
635
  end
607
636
 
608
637
  describe "up with string" do
@@ -93,8 +93,8 @@ describe Duck do
93
93
  Duck.first(50).each_with_index do |d, index|
94
94
  d.update_attributes :age => index % 10, :pond => "Pond #{index / 10}"
95
95
  end
96
- @duck_11 = Duck.offset(10).first
97
- @duck_12 = Duck.offset(11).first
96
+ @duck_11 = Duck.where(:pond => 'Pond 1').rank(:age).first
97
+ @duck_12 = Duck.where(:pond => 'Pond 1').rank(:age).second
98
98
  @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 }
99
99
  @duck_11.update_attribute :age, RankedModel::MAX_RANK_VALUE
100
100
  @duck_12.update_attribute :age, RankedModel::MAX_RANK_VALUE
@@ -23,3 +23,14 @@ describe WrongFieldDuck do
23
23
  end
24
24
 
25
25
  end
26
+
27
+ describe ReallyWrongFieldDuck do
28
+
29
+ it "should raise an error because of a specific unknown field" do
30
+
31
+ expect {
32
+ ReallyWrongFieldDuck.create(:name => 'Quicky', :pond => 'Shin')
33
+ }.to raise_error(RankedModel::InvalidField, 'No field called "non_existant_field" found in model')
34
+ end
35
+
36
+ end
@@ -3,11 +3,11 @@ require 'logger'
3
3
 
4
4
  ROOT = File.join(File.dirname(__FILE__), '..')
5
5
 
6
- DB_CONFIG = "test" + (ENV['DB'] ? "_#{ENV['DB'].downcase}" : '')
6
+ DB_CONFIG = ENV["DB"] || "sqlite"
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)
10
+ ActiveRecord::Base.establish_connection(DB_CONFIG.to_sym)
11
11
 
12
12
  ActiveRecord::Schema.define :version => 0 do
13
13
  create_table :ducks, :force => true do |t|
@@ -85,7 +85,12 @@ class WrongFieldDuck < ActiveRecord::Base
85
85
 
86
86
  include RankedModel
87
87
  ranks :age, :with_same => :non_existant_field
88
+ end
88
89
 
90
+ class ReallyWrongFieldDuck < ActiveRecord::Base
91
+ self.table_name = :wrong_field_ducks
92
+ include RankedModel
93
+ ranks :age, :with_same => [:name, :non_existant_field]
89
94
  end
90
95
 
91
96
  # Example for STI, ranking within each child class
@@ -1,30 +1,22 @@
1
- test:
1
+ sqlite:
2
2
  adapter: sqlite3
3
3
  database: tmp/data.sqlite3
4
4
  pool: 5
5
5
  timeout: 5000
6
6
 
7
- test_mysql:
8
- adapter: mysql
7
+ mysql:
8
+ adapter: mysql2
9
9
  database: ranked_model_test
10
10
  pool: 5
11
11
  timeout: 5000
12
+ username: root
13
+ password:
12
14
 
13
- test_postgresql:
14
- adapter: postgresql
15
- database: ranked_model_test
16
- pool: 5
17
- timeout: 5000
18
-
19
- test_mysql_travis:
20
- adapter: mysql
21
- database: ranked_model_test
22
- pool: 5
23
- timeout: 5000
24
- username: travis
25
-
26
- test_postgresql_travis:
15
+ postgresql:
27
16
  adapter: postgresql
28
17
  database: ranked_model_test
29
18
  pool: 5
30
19
  timeout: 5000
20
+ username: postgres
21
+ password:
22
+ min_messages: ERROR
metadata CHANGED
@@ -1,113 +1,127 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ranked-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Beale
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-25 00:00:00.000000000 Z
11
+ date: 2018-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.1.12
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
26
  version: 3.1.12
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.13.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.13.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.3.7
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.3.7
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: genspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.2.8
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.2.8
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mocha
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.14.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.14.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: database_cleaner
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.2.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.2.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: 10.1.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 10.1.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: appraisal
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: ranked-model is a modern row sorting library built for Rails 3 & 4. It
112
126
  uses ARel aggressively and is better optimized than most other libraries.
113
127
  email:
@@ -116,13 +130,17 @@ executables: []
116
130
  extensions: []
117
131
  extra_rdoc_files: []
118
132
  files:
119
- - .gitignore
120
- - .rspec
121
- - .travis.yml
133
+ - ".gitignore"
134
+ - ".rspec"
135
+ - ".travis.yml"
136
+ - Appraisals
122
137
  - Gemfile
123
138
  - LICENSE
124
139
  - Rakefile
125
140
  - Readme.mkd
141
+ - gemfiles/rails_3_2.gemfile
142
+ - gemfiles/rails_4_1.gemfile
143
+ - gemfiles/rails_4_2.gemfile
126
144
  - lib/ranked-model.rb
127
145
  - lib/ranked-model/railtie.rb
128
146
  - lib/ranked-model/ranker.rb
@@ -152,17 +170,17 @@ require_paths:
152
170
  - lib
153
171
  required_ruby_version: !ruby/object:Gem::Requirement
154
172
  requirements:
155
- - - '>='
173
+ - - ">="
156
174
  - !ruby/object:Gem::Version
157
175
  version: '0'
158
176
  required_rubygems_version: !ruby/object:Gem::Requirement
159
177
  requirements:
160
- - - '>='
178
+ - - ">="
161
179
  - !ruby/object:Gem::Version
162
180
  version: '0'
163
181
  requirements: []
164
182
  rubyforge_project:
165
- rubygems_version: 2.0.3
183
+ rubygems_version: 2.6.14
166
184
  signing_key:
167
185
  specification_version: 4
168
186
  summary: An acts_as_sortable replacement built for Rails 3 & 4