order_as_specified 1.3 → 1.4

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: 450073ab184ee65a4ca822e1357d3b83ef9f77c8
4
- data.tar.gz: 2b82f44edfb67e15ebd24226a1222eabf18bb008
2
+ SHA256:
3
+ metadata.gz: 810fb1d84c1606e6a005b15d822d6758a93caf1ae53b9df6a695ff8d2e024582
4
+ data.tar.gz: ce7d3be0ef5a951a65bb1e5ceae0aa07ec3e0957fc844a6ecd2d0ca02af9170d
5
5
  SHA512:
6
- metadata.gz: f8719ccfaf980a2f5bd52535700a3093d96a41f2c5194f9edc1f5862a6c37cf801d0ceeda90a7a3c8e883532ca47e3595bc0657e07cf8e9864c66044f6d6bda7
7
- data.tar.gz: 26fe666d64943d02e93a78fd6edb506480c4deaa8c3a1b6a5e675c98a81fd28082008209c578313dd8acb801a9b21fbe946b7e26c7d3d3cbcc71420abbd084c1
6
+ metadata.gz: 7e8e491197afaf309031af8d7eb7869d1acdd2884ef776e6440a137a5288601993164ddc31815a42703407d18d51f73c917577cc80dbde2c742f7b6b7e06ab10
7
+ data.tar.gz: d8437b518f99ae3a9d6f75069e927b1a677772957d6868c9d3a24f49dd956c3a66f62f31174ae5796447a0b6806b1c15294ad94591ddddf415ca0a6c24ba190e
data/.rubocop.yml CHANGED
@@ -1,260 +1,17 @@
1
- # This (http://c2.com/cgi/wiki?AbcMetric) is super obnoxious
2
- AbcSize:
3
- Enabled: false
4
-
5
- AccessorMethodName:
6
- Enabled: false
7
-
8
- Alias:
9
- Enabled: false
1
+ require:
2
+ - rubocop/rspec/focused
10
3
 
11
4
  AllCops:
12
- RunRailsCops: true
13
-
14
- AmbiguousOperator:
15
- Enabled: false
16
-
17
- AmbiguousRegexpLiteral:
18
- Enabled: false
19
-
20
- ArrayJoin:
21
- Enabled: false
22
-
23
- AsciiComments:
24
- Enabled: false
25
-
26
- AsciiIdentifiers:
27
- Enabled: false
28
-
29
- AssignmentInCondition:
30
- Enabled: true
31
-
32
- Attr:
33
- Enabled: false
34
-
35
- BlockNesting:
36
- Enabled: false
37
-
38
- BracesAroundHashParameters:
39
- Enabled: false
40
-
41
- CaseEquality:
42
- Enabled: false
43
-
44
- CharacterLiteral:
45
- Enabled: false
46
-
47
- ClassLength:
48
- Enabled: false
49
-
50
- ClassVars:
51
- Enabled: false
52
-
53
- CollectionMethods:
54
- PreferredMethods:
55
- find: detect
56
- reduce: inject
57
- collect: map
58
- find_all: select
59
-
60
- ColonMethodCall:
61
- Enabled: false
62
-
63
- CommentAnnotation:
64
- Enabled: false
65
-
66
- ConditionPosition:
67
- Enabled: false
68
-
69
- CyclomaticComplexity:
70
- Enabled: false
71
-
72
- Delegate:
73
- Enabled: false
74
-
75
- DeprecatedClassMethods:
76
- Enabled: false
5
+ TargetRubyVersion: 2.3
77
6
 
78
- DeprecatedHashMethods:
79
- Enabled: false
80
-
81
- Documentation:
7
+ AbcSize:
82
8
  Enabled: false
83
9
 
84
10
  DotPosition:
85
11
  EnforcedStyle: trailing
86
12
 
87
- DoubleNegation:
88
- Enabled: false
89
-
90
- ElseLayout:
91
- Enabled: false
92
-
93
- EmptyLiteral:
94
- Enabled: false
95
-
96
- Encoding:
97
- Enabled: false
98
-
99
- EvenOdd:
100
- Enabled: false
101
-
102
- FileName:
103
- Enabled: false
104
-
105
- FlipFlop:
106
- Enabled: false
107
-
108
- FormatString:
109
- Enabled: false
110
-
111
- GlobalVars:
112
- Enabled: false
113
-
114
- GuardClause:
115
- Enabled: false
116
-
117
- HandleExceptions:
118
- Enabled: false
119
-
120
- IfUnlessModifier:
121
- Enabled: false
122
-
123
- IfWithSemicolon:
124
- Enabled: false
125
-
126
- InvalidCharacterLiteral:
127
- Enabled: false
128
-
129
- Lambda:
130
- Enabled: false
131
-
132
- LambdaCall:
133
- Enabled: false
134
-
135
- LineEndConcatenation:
136
- Enabled: false
137
-
138
- LineLength:
139
- Max: 80
140
-
141
- LiteralInCondition:
142
- Enabled: false
143
-
144
- LiteralInInterpolation:
145
- Enabled: false
146
-
147
- Loop:
148
- Enabled: false
149
-
150
13
  MethodLength:
151
14
  Enabled: false
152
15
 
153
- ModuleFunction:
154
- Enabled: false
155
-
156
- NegatedIf:
157
- Enabled: false
158
-
159
- NegatedWhile:
160
- Enabled: false
161
-
162
- Next:
163
- Enabled: false
164
-
165
- NilComparison:
166
- Enabled: false
167
-
168
- Not:
169
- Enabled: false
170
-
171
- NumericLiterals:
172
- Enabled: false
173
-
174
- OneLineConditional:
175
- Enabled: false
176
-
177
- OpMethod:
178
- Enabled: false
179
-
180
- ParameterLists:
181
- Enabled: false
182
-
183
- ParenthesesAsGroupedExpression:
184
- Enabled: false
185
-
186
- PercentLiteralDelimiters:
187
- PreferredDelimiters:
188
- '%': '{}'
189
-
190
- PerceivedComplexity:
191
- Enabled: false
192
-
193
- PerlBackrefs:
194
- Enabled: false
195
-
196
- PredicateName:
197
- Enabled: false
198
-
199
- Proc:
200
- Enabled: false
201
-
202
- RaiseArgs:
203
- Enabled: false
204
-
205
- RedundantReturn:
206
- AllowMultipleReturnValues: true
207
-
208
- RegexpLiteral:
209
- Enabled: false
210
-
211
- RequireParentheses:
212
- Enabled: false
213
-
214
- SelfAssignment:
215
- Enabled: false
216
-
217
- SignalException:
218
- EnforcedStyle: only_raise
219
-
220
- SingleLineBlockParams:
221
- Enabled: false
222
-
223
- SingleLineMethods:
224
- Enabled: false
225
-
226
- SpecialGlobalVars:
227
- Enabled: false
228
-
229
16
  StringLiterals:
230
17
  EnforcedStyle: double_quotes
231
-
232
- Style/MultilineBlockChain:
233
- Enabled: false
234
-
235
- VariableInterpolation:
236
- Enabled: false
237
-
238
- TrailingComma:
239
- Enabled: false
240
-
241
- TrivialAccessors:
242
- Enabled: false
243
-
244
- UnderscorePrefixedVariableName:
245
- Enabled: false
246
-
247
- VariableInterpolation:
248
- Enabled: false
249
-
250
- Void:
251
- Enabled: false
252
-
253
- WhenThen:
254
- Enabled: false
255
-
256
- WhileUntilModifier:
257
- Enabled: false
258
-
259
- WordArray:
260
- Enabled: false
data/.travis.yml CHANGED
@@ -1,19 +1,26 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.2.5
4
- - 2.3.1
4
+ - 2.5.1
5
5
  before_script:
6
6
  - psql -c 'create database order_as_specified_test;' -U postgres
7
- script: bundle exec rspec
7
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
8
+ - chmod +x ./cc-test-reporter
9
+ - ./cc-test-reporter before-build
10
+ script:
11
+ - bundle exec rspec
12
+ - bundle exec rubocop
13
+ after_script:
14
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
8
15
  addons:
9
16
  postgresql: "9.3"
10
17
  code_climate:
11
18
  repo_token: 781c439d68cbb928316deaec1c7136f98423e1db87238f99cbc95183de94df9e
12
19
  env:
13
20
  matrix:
14
- - AR_VERSION="~> 4.2.0"
15
21
  - AR_VERSION="~> 5.0.0"
16
22
  - AR_VERSION="~> 5.1.0"
23
+ - AR_VERSION="~> 5.2.0"
17
24
  notifications:
18
25
  email: false
19
26
  hipchat:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # 1.4
2
+
3
+ This release removes deprecation warnings for ActiveRecord 5.2 users, and drops
4
+ support for ActiveRecord 4.x. Many thanks to
5
+ [George Protacio-Karaszi](https://github.com/GeorgeKaraszi) for pointing out
6
+ this issue!
7
+
1
8
  # 1.3
2
9
 
3
10
  This release adds support for ActiveRecord 5.1. Many thanks to
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
5
  # Specify your gem's dependencies in order_as_specified.gemspec
data/README.md CHANGED
@@ -156,6 +156,18 @@ databases do not have good or consistent support for ordering with `NULL` values
156
156
  in an arbitrary order, so we don't permit this behavior instead of allowing an
157
157
  unexpected result.
158
158
 
159
+ ## Limitations
160
+
161
+ Databases may have limitations on the underlying number of fields you can have
162
+ in an `ORDER BY` clause. For example, in PostgreSQL if you pass in more than
163
+ 1664 list elements you'll [receive this error](https://github.com/panorama-ed/order_as_specified/issues/34):
164
+
165
+ ```ruby
166
+ PG::ProgramLimitExceeded: ERROR: target lists can have at most 1664 entries
167
+ ```
168
+
169
+ That's a database limitation that this gem cannot avoid, unfortunately.
170
+
159
171
  ## Documentation
160
172
 
161
173
  We have documentation on [RubyDoc](http://www.rubydoc.info/github/panorama-ed/order_as_specified/master).
@@ -169,8 +181,7 @@ We have documentation on [RubyDoc](http://www.rubydoc.info/github/panorama-ed/or
169
181
  5. Create a new Pull Request
170
182
 
171
183
  **Make sure your changes have appropriate tests (`bundle exec rspec`)
172
- and conform to the Rubocop style specified.** We use
173
- [overcommit](https://github.com/causes/overcommit) to enforce good code.
184
+ and conform to the Rubocop style specified.**
174
185
 
175
186
  ## License
176
187
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "order_as_specified/version"
2
4
  require "order_as_specified/error"
3
5
 
@@ -5,7 +7,6 @@ require "order_as_specified/error"
5
7
  # the database in an arbitrary order, without having to store anything extra
6
8
  # in the database. Simply `extend` it into your class and then you can use the
7
9
  # `order_as_specified` class method.
8
-
9
10
  module OrderAsSpecified
10
11
  # @param hash [Hash] the ActiveRecord arguments hash
11
12
  # @return [ActiveRecord::Relation] the objects, ordered as specified
@@ -27,10 +28,12 @@ module OrderAsSpecified
27
28
  "#{table}.#{attribute}=#{db_connection.quote(value)}"
28
29
  end
29
30
 
30
- scope = order(conditions.map { |cond| "#{cond} DESC" }.join(", "))
31
+ scope = order(Arel.sql(conditions.map { |cond| "#{cond} DESC" }.join(", ")))
31
32
 
32
33
  if distinct_on
33
- scope = scope.select("DISTINCT ON (#{conditions.join(', ')}) #{table}.*")
34
+ scope = scope.select(
35
+ Arel.sql("DISTINCT ON (#{conditions.join(', ')}) #{table}.*")
36
+ )
34
37
  end
35
38
 
36
39
  scope
@@ -44,13 +47,13 @@ module OrderAsSpecified
44
47
  # @param table [String/Symbol] the name of the table, default: the class table
45
48
  # @param hash [Hash] the ActiveRecord-style arguments, such as:
46
49
  # { other_objects: { id: [1, 5, 3] } }
47
- def extract_params(table = table_name, hash)
50
+ def extract_params(hash, table = table_name)
48
51
  raise "Could not parse params" unless hash.size == 1
49
52
 
50
53
  key, val = hash.first
51
54
 
52
55
  if val.is_a? Hash
53
- extract_params(key, hash[key])
56
+ extract_params(hash[key], key)
54
57
  else
55
58
  {
56
59
  table: table,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OrderAsSpecified
2
4
  class Error < StandardError
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OrderAsSpecified
2
- VERSION = "1.3"
4
+ VERSION = "1.4"
3
5
  end
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require "order_as_specified/version"
5
6
 
@@ -19,14 +20,14 @@ Gem::Specification.new do |spec|
19
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
21
  spec.require_paths = ["lib"]
21
22
 
22
- spec.add_dependency "activerecord", ">= 4.0.1"
23
+ spec.add_dependency "activerecord", ">= 5.0.0"
23
24
 
24
- spec.add_development_dependency "bundler", "~> 1.7"
25
- spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4"
26
- spec.add_development_dependency "overcommit", "~> 0.23"
27
- spec.add_development_dependency "pg", ">= 0.18"
28
- spec.add_development_dependency "rspec", "~> 3.2"
29
- spec.add_development_dependency "rspec-rails", "~> 3.2"
30
- spec.add_development_dependency "rubocop", "~> 0.29"
31
- spec.add_development_dependency "sqlite3", ">= 1.3"
25
+ spec.add_development_dependency "bundler"
26
+ spec.add_development_dependency "pg"
27
+ spec.add_development_dependency "rspec"
28
+ spec.add_development_dependency "rspec-rails"
29
+ spec.add_development_dependency "rubocop"
30
+ spec.add_development_dependency "rubocop-rspec-focused"
31
+ spec.add_development_dependency "simplecov"
32
+ spec.add_development_dependency "sqlite3"
32
33
  end
@@ -1,10 +1,11 @@
1
- VersionedMigration = ActiveRecord::Migration.try(:[], 5.0) || ActiveRecord::Migration
1
+ # frozen_string_literal: true
2
+
3
+ VersionedMigration = ActiveRecord::Migration[ActiveRecord::Migration.current_version] # rubocop:disable Metrics/LineLength
2
4
 
3
5
  class TestSetupMigration < VersionedMigration
4
6
  def up
5
7
  db_connection = ActiveRecord::Base.connection
6
- return if db_connection.try(:table_exists?,:test_classes) || # AR 4.2
7
- db_connection.try(:data_source_exists?,:test_classes) # AR > 5.0
8
+ return if db_connection.try(:data_source_exists?, :test_classes)
8
9
 
9
10
  create_table :test_classes do |t|
10
11
  t.string :field
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Instead of defining specs here, we define them in
2
4
  # shared/order_as_specified_examples.rb. We then have a different spec file for
3
5
  # each supported database adapter, whch runs the shared RSpec tests found in
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "spec_helper"
2
4
  require "shared/order_as_specified_examples"
3
5
  require "config/test_setup_migration"
4
6
 
7
+ # rubocop:disable Metrics/BlockLength
5
8
  RSpec.describe "PostgreSQL" do
6
9
  before :all do
7
10
  ActiveRecord::Base.establish_connection(:postgresql_test)
@@ -21,8 +24,8 @@ RSpec.describe "PostgreSQL" do
21
24
  end
22
25
 
23
26
  let(:shuffled_objects) do
24
- fields = 3.times.map { |i| "Field #{i}" } * 2
25
- 5.times.map { |i| TestClass.create(field: fields[i]) }.shuffle
27
+ fields = Array.new(3) { |i| "Field #{i}" } * 2
28
+ Array.new(5) { |i| TestClass.create(field: fields[i]) }.shuffle
26
29
  end
27
30
 
28
31
  it "returns distinct objects" do
@@ -33,13 +36,16 @@ RSpec.describe "PostgreSQL" do
33
36
  before(:each) { TestClass.create(field: "foo") }
34
37
 
35
38
  it "sanitizes column values" do
36
- # Attempt to inject code to add a 'hi' field to each record. If the SQL inputs
37
- # are properly sanitized, the code will be ignored and the returned model
38
- # instances will not respond to #hi. If not, the code will execute and
39
- # each of the returned model instances will have a #hi method to access the
40
- # new field.
39
+ # Attempt to inject code to add a 'hi' field to each record. If the SQL
40
+ # inputs are properly sanitized, the code will be ignored and the
41
+ # returned model instances will not respond to #hi. If not, the code
42
+ # will execute and each of the returned model instances will have a #hi
43
+ # method to access the new field.
41
44
  bad_value = "foo') field, 'hi'::varchar AS hi FROM test_classes --"
42
- record = TestClass.order_as_specified(distinct_on: true, field: [bad_value]).to_a.first
45
+ record = TestClass.order_as_specified(
46
+ distinct_on: true,
47
+ field: [bad_value]
48
+ ).to_a.first
43
49
  expect(record).to_not respond_to(:hi)
44
50
  end
45
51
 
@@ -48,11 +54,17 @@ RSpec.describe "PostgreSQL" do
48
54
  quoted_table = AssociationTestClass.connection.quote_table_name(table)
49
55
 
50
56
  column = "id"
51
- quoted_column = AssociationTestClass.connection.quote_column_name(column)
57
+ quoted_column = AssociationTestClass.
58
+ connection.
59
+ quote_column_name(column)
52
60
 
53
- sql = TestClass.order_as_specified(distinct_on: true, table => { column => ["foo"] }).to_sql
61
+ sql = TestClass.order_as_specified(
62
+ distinct_on: true,
63
+ table => { column => ["foo"] }
64
+ ).to_sql
54
65
  expect(sql).to include("DISTINCT ON (#{quoted_table}.#{quoted_column}")
55
66
  end
56
67
  end
57
68
  end
58
69
  end
70
+ # rubocop:enable Metrics/BlockLength
@@ -1,6 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "support/application_record"
1
4
  require "support/test_class"
2
5
  require "support/association_test_class"
3
6
 
7
+ # rubocop:disable Metrics/BlockLength
4
8
  RSpec.shared_examples ".order_as_specified" do
5
9
  # Clean up after each test. This is a lot lighter for these few tests than
6
10
  # trying to wrangle with RSpec-Rails to get transactional tests to work.
@@ -10,7 +14,7 @@ RSpec.shared_examples ".order_as_specified" do
10
14
  end
11
15
 
12
16
  let(:shuffled_objects) do
13
- 5.times.map { |i| TestClass.create(field: "Field #{i}") }.shuffle
17
+ Array.new(5) { |i| TestClass.create(field: "Field #{i}") }.shuffle
14
18
  end
15
19
  let(:shuffled_object_fields) { shuffled_objects.map(&:field) }
16
20
  let(:shuffled_object_ids) { shuffled_objects.map(&:id) }
@@ -50,7 +54,7 @@ RSpec.shared_examples ".order_as_specified" do
50
54
 
51
55
  context "when the order includes nil" do
52
56
  let(:shuffled_objects) do
53
- 5.times.map do |i|
57
+ Array.new(5) do |i|
54
58
  TestClass.create(field: (i == 0 ? nil : "Field #{i}"))
55
59
  end.shuffle
56
60
  end
@@ -102,15 +106,16 @@ RSpec.shared_examples ".order_as_specified" do
102
106
  end
103
107
 
104
108
  it "sanitizes column values" do
105
- # Verify that the result set includes two records when using good column value.
109
+ # Verify that the result set includes two records when using good column
110
+ # value.
106
111
  good_value = "foo"
107
112
  records = TestClass.order_as_specified(field: [good_value]).to_a
108
113
  expect(records.count).to eq(2)
109
114
 
110
115
  # Attempt to inject a LIMIT clause into the query. If the SQL inputs are
111
116
  # properly sanitized, it will be ignored and the returned result set will
112
- # include two records. If not, the LIMIT clause will execute and the result
113
- # set will include just one record.
117
+ # include two records. If not, the LIMIT clause will execute and the
118
+ # result set will include just one record.
114
119
  bad_value = "' LIMIT 1 --"
115
120
  records = TestClass.order_as_specified(field: [bad_value]).to_a
116
121
  expect(records.count).to eq(2)
@@ -128,3 +133,4 @@ RSpec.shared_examples ".order_as_specified" do
128
133
  end
129
134
  end
130
135
  end
136
+ # rubocop:enable Metrics/BlockLength
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,13 @@
1
- require "codeclimate-test-reporter"
2
- CodeClimate::TestReporter.start
1
+ # frozen_string_literal: true
2
+
3
+ if ENV["TRAVIS"] == "true"
4
+ require "simplecov"
5
+ SimpleCov.start
6
+ SimpleCov.start do
7
+ # Omit the spec directory from being counted in code coverage calculations.
8
+ add_filter "/spec/"
9
+ end
10
+ end
3
11
 
4
12
  require "active_record"
5
13
 
data/spec/sqlite3_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "spec_helper"
2
4
  require "shared/order_as_specified_examples"
3
5
  require "config/test_setup_migration"
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+ end
@@ -1,4 +1,6 @@
1
- class AssociationTestClass < ActiveRecord::Base
1
+ # frozen_string_literal: true
2
+
3
+ class AssociationTestClass < ApplicationRecord
2
4
  extend OrderAsSpecified
3
5
 
4
6
  belongs_to :test_class
@@ -1,4 +1,6 @@
1
- class TestClass < ActiveRecord::Base
1
+ # frozen_string_literal: true
2
+
3
+ class TestClass < ApplicationRecord
2
4
  extend OrderAsSpecified
3
5
 
4
6
  has_one :association_test_class
metadata CHANGED
@@ -1,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: order_as_specified
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.3'
4
+ version: '1.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Evelyn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-02 00:00:00.000000000 Z
11
+ date: 2018-05-14 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
- version: 4.0.1
19
+ version: 5.0.0
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.0.1
26
+ version: 5.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.7'
33
+ version: '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
- version: '1.7'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: codeclimate-test-reporter
42
+ name: pg
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0.4'
47
+ version: '0'
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
- version: '0.4'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: overcommit
56
+ name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0.23'
61
+ version: '0'
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
- version: '0.23'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pg
70
+ name: rspec-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0.18'
75
+ version: '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
- version: '0.18'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec
84
+ name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '3.2'
89
+ version: '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
- version: '3.2'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rspec-rails
98
+ name: rubocop-rspec-focused
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3.2'
103
+ version: '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
- version: '3.2'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rubocop
112
+ name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0.29'
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0.29'
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: sqlite3
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '1.3'
131
+ version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: '1.3'
138
+ version: '0'
139
139
  description: Obtain ActiveRecord results with a custom ordering with no need to store
140
140
  anything in the database.
141
141
  email:
@@ -144,10 +144,9 @@ executables: []
144
144
  extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
- - .gitignore
148
- - .overcommit.yml
149
- - .rubocop.yml
150
- - .travis.yml
147
+ - ".gitignore"
148
+ - ".rubocop.yml"
149
+ - ".travis.yml"
151
150
  - CHANGELOG.md
152
151
  - Gemfile
153
152
  - LICENSE.txt
@@ -163,6 +162,7 @@ files:
163
162
  - spec/shared/order_as_specified_examples.rb
164
163
  - spec/spec_helper.rb
165
164
  - spec/sqlite3_spec.rb
165
+ - spec/support/application_record.rb
166
166
  - spec/support/association_test_class.rb
167
167
  - spec/support/test_class.rb
168
168
  homepage: https://github.com/panorama-ed/order_as_specified
@@ -175,17 +175,17 @@ require_paths:
175
175
  - lib
176
176
  required_ruby_version: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  requirements:
183
- - - '>='
183
+ - - ">="
184
184
  - !ruby/object:Gem::Version
185
185
  version: '0'
186
186
  requirements: []
187
187
  rubyforge_project:
188
- rubygems_version: 2.2.2
188
+ rubygems_version: 2.7.6
189
189
  signing_key:
190
190
  specification_version: 4
191
191
  summary: Add arbitrary ordering to ActiveRecord queries.
@@ -197,6 +197,6 @@ test_files:
197
197
  - spec/shared/order_as_specified_examples.rb
198
198
  - spec/spec_helper.rb
199
199
  - spec/sqlite3_spec.rb
200
+ - spec/support/application_record.rb
200
201
  - spec/support/association_test_class.rb
201
202
  - spec/support/test_class.rb
202
- has_rdoc:
data/.overcommit.yml DELETED
@@ -1,8 +0,0 @@
1
- PreCommit:
2
- # Disable Brakeman since this is not an app.
3
- Brakeman:
4
- enabled: false
5
- RailsSchemaUpToDate:
6
- enabled: false
7
- Reek:
8
- enabled: false