unreliable 0.1.2 → 0.1.3

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
2
  SHA256:
3
- metadata.gz: 492ba9597605f55f1b9ee0d92a132a072a70257ef2b12bb54390f78dc6b67b7d
4
- data.tar.gz: 385fe7486e4b8bf7b24ffc2657eee2d956d88a77e765582974a3bf20eb41480c
3
+ metadata.gz: '0081b3f189f7e459a112514a5c35d69bd903fbdc771b6eccd22bb53add828671'
4
+ data.tar.gz: 0a5c663105b2f774cb64eb464340e36d8c63d393234e0cb855955487800d501f
5
5
  SHA512:
6
- metadata.gz: 7328df183703ef3aa8410eb86995558d11f5855c86c20142b046632d95110681f162db99dede9f7b75f7e1bf72d0e05e7bdad675412005d84d05d9af957acedb
7
- data.tar.gz: 453b0ae1dfc15bf3354a3caf7ea421caf61dd2b5d48ec8d1c04166749db470693e0da0ec4c863aeb81f03b970e2a94addc7795860396bbf9c025e2ad2c665f1a
6
+ metadata.gz: 798bef481aad072fa47730866506a6e040d5b99dea6b71f0af5ca86921380f42713b98182c813f7da2a9a152215e9a2a35a730923f10e3e35c389a5ffa78dd68
7
+ data.tar.gz: 41d0546cf89f4bb0a2c66e98042fb6f27b4a57391ef7e0e25392a1b0a6eaa14064c6f9bd6e12915a05f8425656a62f794d48ab2ab45f08045b2ad3bfa4e79794
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- ## Unreliable 0.1.2 (April xx, 2022) ##
1
+ ## Unreliable 0.1.3 (August 21, 2022) ##
2
+
3
+ * README and minor gemspec changes.
4
+
5
+ ## Unreliable 0.1.2 (April 27, 2022) ##
2
6
 
3
7
  * README and internal dependency changes.
4
8
 
data/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
  ![CI workflow](https://github.com/jamiemccarthy/unreliable/actions/workflows/ci.yml/badge.svg)
4
4
  ![Gem version](https://img.shields.io/gem/v/unreliable)
5
5
  [![Ruby Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://github.com/testdouble/standard)
6
- [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa)](code_of_conduct.md)
6
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa)](CODE_OF_CONDUCT.md)
7
7
 
8
- **Unreliable makes your ActiveRecord scopes and test suite better, by forcing your tests to not rely on ambiguous ordering.**
8
+ **The `unreliable` gem forces your ActiveRecord tests not to rely on ambiguous ordering. This makes your app and its tests more robust.**
9
9
 
10
10
  ## Installation
11
11
 
@@ -19,106 +19,94 @@ group :test do
19
19
  end
20
20
  ```
21
21
 
22
- Then `bundle install` and run your test suite repeatedly, maybe 6-8 times, looking for new failures.
22
+ The next time your test suite runs, it may emit new errors and failures. If so, great!
23
23
 
24
- ## The problem
24
+ ## The problem with orders
25
25
 
26
- Here's an open secret: relational databases do not guarantee the order results are returned in, without a well-chosen ORDER BY clause.
26
+ Here's an [open secret](#references): **relational databases do not guarantee the order results are returned in, without a thorough `ORDER BY` clause.**
27
27
 
28
- Choosing a good ORDER is harder than it seems. And you can get it wrong silently. Your test suite won't help you if your database just happens to return the same order almost all the time. Which they usually do.
28
+ If all your ActiveRecord ordering is already unambiguous, congratulations! `unreliable` will have no effect.
29
29
 
30
- If your Rails code relies on that accidental ordering, that's a bug in your app. Or sometimes ambiguous order is fine for your app's purposes, but your tests rely on it. Either way, your tests are passing when they should be failing.
30
+ But sometimes we think we specified an unambiguous order, but didn't. Maybe we ordered on timestamps, which are usually unique but sometimes not. And the test suite will stay silent as long as our database just happens to return the same order.
31
31
 
32
- ## The test
32
+ If ambiguous ordering is fine for your app's purposes, but your tests rely on a specific order, that's a bug in your tests. Your tests are incorrectly failing -- rarely -- which can be confusing and annoying.
33
33
 
34
- In a Rails test environment, Unreliable patches ActiveRecord to always have a final ORDER BY clause that returns results in a random order.
34
+ Or, if your Rails code relies on that accidental ordering, that's a bug in your app. Your tests are passing when they should be failing.
35
35
 
36
- With Unreliable installed, every ActiveRecord relation invoked by the test suite will have any ambiguity replaced with randomness. Tests that rely on the ordering of two records will break half the time. Tests with three or more break most of the time.
36
+ In both cases, `unreliable` exposes the problem by making those tests fail most of the time.
37
37
 
38
- If you install Unreliable and your test suite starts failing, but only sometimes, that tells you to check your app's relations and scopes, and check your tests.
38
+ ## Fixing the new failures
39
39
 
40
- Even your relations with an order may have an ambiguous order. See "Ordering trivia" below.
40
+ When `unreliable` turns up a new test failure, you fix it in one of two ways. Either relax your test so it stops relying on order, or tighten up your app to specify order rigorously. (In my company's app, it was about 50/50.)
41
41
 
42
- ## The fixes
42
+ ### Relax a test
43
43
 
44
- When Unreliable turns up a new test failure, it's for one of two reasons. Either your test needs to stop relying on order, or your app needs to specify order better.
44
+ Take a look at what your test is checking. If you're testing a method or an endpoint that returns a list whose order doesn't matter, you may have written it to expect the order that was returned the first time you ran it. This often happens with fixtures. You might:
45
45
 
46
- ### Incorrect test
46
+ * Make your test accept all correct answers. For example, sort an array in the method's response before comparing.
47
47
 
48
- Take a look at what you're testing. If you're testing a method or an endpoint that returns a list whose order doesn't matter and isn't documented, you may have written it to expect the order that was returned the first time you ran it. This often happens with fixtures. You might:
48
+ * Help your test suite focus on what you're testing. If your fixtures' "latest" element could change because they don't specify a timestamp, that might be a distraction that's not relevant to how your app works, so you could assign timestamps to the fixtures.
49
49
 
50
- * Make your test accept all correct answers. For example, sort the method's response before comparing.
50
+ This makes your test suite more robust.
51
51
 
52
- * Or, help your test suite focus on what you're testing. If your fixtures' "latest" element is random because they don't specify a timestamp, that may be a distraction that's not relevant to how your app works, so you could just assign them timestamps.
52
+ If your test suite is checking generated `.to_sql` against known-good SQL text, `unreliable` isn't helpful. It's easiest to use `Unreliable::Config.disable { ... }` to turn it off for a block.
53
53
 
54
- Either way, you eliminate potential spurious failures in your test suite.
54
+ ### Tighten the app
55
55
 
56
- ### Incorrect app
56
+ If your app should be returning results in a particular order, and now with `unreliable` it sometimes does not, your test is correct and your app is wrong. Specify order rigorously in your app.
57
57
 
58
- If your app should be returning results in a particular order, and now with Unreliable it sometimes does not, your test is correct and your app is wrong. Specify order rigorously in your app.
59
-
60
- Maybe you've defined an ordering this way:
58
+ Maybe you're testing `Book.reverse_chron.first`, and you've defined that ordering this way:
61
59
 
62
60
  ```
63
- class Book
64
- scope :reverse_chron, -> { order(year_published: :desc) }
65
- end
61
+ class Book
62
+ scope :reverse_chron, -> { order(year_published: :desc) }
63
+ end
66
64
  ```
67
65
 
68
66
  When you meant to define it unambiguously:
69
67
 
70
68
  ```
71
- class Book
72
- scope :reverse_chron, -> { order(year_published: :desc, title: :desc) }
73
- end
69
+ scope :reverse_chron, -> { order(year_published: :desc, title: :desc) }
74
70
  ```
75
71
 
76
72
  Or, if `title` is not unique:
77
73
 
78
74
  ```
79
- class Book
80
- scope :reverse_chron, -> { order(year_published: :desc, title: :desc, id: :desc) }
81
- end
75
+ scope :reverse_chron, -> { order(year_published: :desc, title: :desc, id: :desc) }
82
76
  ```
83
77
 
84
- This example is obviously wrong because many books are published each year, but this error can occur at any time granularity.
78
+ The problem in this example is easy to see because many books are published each year. But this error can occur at any time granularity.
85
79
 
86
80
  ## Requirements
87
81
 
88
- Unreliable is tested to support Ruby 2.6 through 3.1, and Rails 5.0 through 7.0.
82
+ `unreliable` is tested to support Ruby 2.6 through 3.1, and Rails 5.0 through 7.0.
89
83
 
90
- As of April 2022, this is all released versions of both that are currently supported, plus several older releases.
84
+ As of August 2022, this is all released versions of both that are currently supported, plus several older releases.
91
85
 
92
- Unreliable depends only on ActiveRecord and Railties. If you have a non-Rails app that uses ActiveRecord, you can still use it.
86
+ `unreliable` depends only on ActiveRecord and Railties. If you have a non-Rails app that uses ActiveRecord, you can still use it.
93
87
 
94
88
  ## Implementation
95
89
 
96
- **Unreliable does exactly nothing outside of test environments. There is intentionally no way to enable Unreliable in production, and there never will be.**
97
-
98
- Unreliable patches `ActiveRecord::QueryMethods#build_arel`, the point where an Arel is converted for use, to append an order to the existing order chain. (The patch is applied after ActiveRecord loads, using `ActiveSupport.on_load`, the standard interface since Rails 4.0.)
99
-
100
- This means that the ORDER BY applies to not just SELECTs but e.g. delete_all and update_all. It also applies within subqueries.
90
+ `unreliable` does exactly nothing outside of test environments. There is intentionally no way to enable `unreliable` in production, and there never will be.
101
91
 
102
- The patch is only applied when `Rails.env.test?`, and that boolean is also checked on every invocation to make certain it has no effect in any other environment.
92
+ In a Rails test environment, `unreliable` patches ActiveRecord to always append a final `ORDER BY` clause that returns results in a random order.
103
93
 
104
- `Unreliable::Config.disable do ... end` will turn it off for a block.
94
+ Because it's appended, the existing ordering is not affected unless it is ambiguous.
105
95
 
106
- ## Ordering trivia
107
-
108
- The most common ambiguous ordering is an ORDER BY one column that is not unique, like a timestamp.
96
+ With `unreliable` installed, every ActiveRecord relation invoked by the test suite will have any ambiguity replaced with randomness. Tests that rely on the ordering of two records will break half the time. Tests with three or more break most of the time.
109
97
 
110
- But there are other ways you can order a relation but still have your query be ambiguous:
98
+ `unreliable` patches `ActiveRecord::QueryMethods#build_arel`, the point where an Arel is converted for use, to append an order to the existing order chain. (The patch is applied after ActiveRecord loads, using `ActiveSupport.on_load`, the standard interface since Rails 4.0.) It works with MySQL, Postgres, and SQLite.
111
99
 
112
- * ORDER BY multiple columns, but with no subset which is unique
113
- * ORDER BY a column with values that differ only by [character case](https://dev.mysql.com/doc/refman/8.0/en/sorting-rows.html)
114
- * ORDER BY values that are identical within the [prefix length limit](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_sort_length) examined for sorting
100
+ This means that the `ORDER BY` applies to not just `SELECT` but e.g. `delete_all` and `update_all`. It also applies within subqueries.
115
101
 
116
- Unreliable correctly tests these because the random order is always appended.
102
+ The patch is only applied when `Rails.env.test?`, and that boolean is also checked on every invocation, just to make certain it has no effect in any other environment.
117
103
 
118
104
  ## Contributing
119
105
 
120
106
  Thoughts and suggestions are welcome. Please read the code of conduct, then create an issue or pull request on GitHub. If you just have questions, go ahead and open an issue, I'm pretty friendly.
121
107
 
108
+ ### Run the gem's tests
109
+
122
110
  To test locally, against the different versions of ActiveRecord, use Ruby 2.7, the only version currently compatible with all the ActiveRecord versions supported. Install the required gems with:
123
111
 
124
112
  ```
@@ -127,13 +115,13 @@ bundle install
127
115
  bundle exec appraisal install
128
116
  ```
129
117
 
130
- Run Unreliable's linter with:
118
+ Run `unreliable`'s linter with:
131
119
 
132
120
  ```
133
121
  bundle exec standardrb
134
122
  ```
135
123
 
136
- Then you can run Unreliable's tests with:
124
+ Then you can run `unreliable`'s tests with:
137
125
 
138
126
  ```
139
127
  bundle exec appraisal rake
@@ -145,27 +133,57 @@ The GitHub CI workflow in `.github/` ensures those tests are also run against ag
145
133
 
146
134
  Testing against ActiveRecord is done with [Combustion](https://github.com/pat/combustion), which stands up a local single-table SQLite database and an ActiveRecord-based model for it. This gives more reliable coverage than mocking unit tests within ActiveRecord itself.
147
135
 
148
- If you'd like to see Unreliable in action on a small but real Rails app locally, you can do this:
136
+ ### Experiment
149
137
 
150
- 1. Start with a 1-line Gemfile: `gem "rails", "~> x.y"`
151
- 2. `bundle install`, then:
152
- 3. `bundle exec rails new . --skip-javascript --skip-webpack-install --skip-sprockets --skip-turbolinks --skip-jbuilder --skip-spring`
153
- 4. Add to Gemfile test block: `gem "unreliable", path: "../unreliable"`
154
- 5. `bundle install` again
155
- 6. `bundle exec rails generate model post title:string body:text`
156
- 7. `RAILS_ENV=test bundle exec rails db:migrate`
157
- 8. `RAILS_ENV=test bundle exec rails c`
158
- 9. You should see "Loading test environment" and the Rails console prompt. Then to test:
138
+ If you'd like to see `unreliable` in action on a small but real Rails app locally, you can do this:
139
+
140
+ 1. In a directory next to your `unreliable` working directory, create a `.ruby-version` of `2.7.6` and a 2-line `Gemfile`: `source "https://rubygems.org"`, `gem "rails", "~> 7.0"`
141
+ 2. `bundle install && bundle exec rails new . --force`
142
+ 3. `echo 'gem "unreliable", path: "../unreliable"' >> Gemfile`
143
+ 4. `bundle install && bundle exec rails generate model post title:string body:text`
144
+ 5. `RAILS_ENV=test bundle exec rails db:migrate`
145
+ 6. `RAILS_ENV=test bundle exec rails c`
146
+ 7. You should see SQLite's `ORDER BY RANDOM()` in ActiveRecord queries:
159
147
 
160
148
  ```
161
- 3.0.1 :001 > puts Post.where(title: "abc").to_sql
162
- (0.7ms) SELECT sqlite_version(*)
163
- SELECT "posts".* FROM "posts" WHERE "posts"."title" = 'abc' ORDER BY RAND()
149
+ irb(main):001:0> Post.where(title: "abc")
150
+ (2.1ms) SELECT sqlite_version(*)
151
+ Post Load (0.3ms) SELECT "posts".* FROM "posts" WHERE "posts"."title" = ? ORDER BY RANDOM() [["title", "abc"]]
152
+ => []
153
+ irb(main):002:0> Post.limit(5).delete_all
154
+ Post Delete All (0.2ms) DELETE FROM "posts" WHERE "posts"."id" IN (SELECT "posts"."id" FROM "posts" ORDER BY RANDOM() LIMIT ?) [["LIMIT", 5]]
155
+ => 0
164
156
  ```
165
157
 
166
- ## Future development
158
+ ## Ordering trivia
159
+
160
+ The most common ambiguous ordering is an ORDER BY one column that is not unique, like a timestamp.
161
+
162
+ But there are other ways you can order a relation but still have your query be ambiguous:
163
+
164
+ * ORDER BY multiple columns, but with no subset which is unique
165
+ * ORDER BY a column with values that differ only by [character case](https://dev.mysql.com/doc/refman/8.0/en/sorting-rows.html)
166
+ * ORDER BY values that are identical within the [prefix length limit](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_sort_length) examined for sorting
167
+
168
+ `unreliable` correctly tests these because the random order is always appended.
169
+
170
+ ## References
171
+
172
+ SQL standard ([SQL-92](https://web.archive.org/web/20220730144627/https://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt)):
173
+
174
+ > When the ordering of a cursor is partially determined by an _order by clause_, then the relative positions of two rows are determined only by the _order by clause_; if the two rows have equal values for the purpose of evaluating the _order by clause_, then their relative positions are implementation-dependent.
175
+
176
+ MySQL ([5.6](https://dev.mysql.com/doc/refman/5.6/en/limit-optimization.html), [5.7](https://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html), [8.0](https://dev.mysql.com/doc/refman/8.0/en/limit-optimization.html)):
177
+
178
+ > If multiple rows have identical values in the `ORDER BY` columns, the server is free to return those rows in any order, and may do so differently depending on the overall execution plan. In other words, the sort order of those rows is nondeterministic with respect to the nonordered columns.
179
+
180
+ Postgres ([12](https://www.postgresql.org/docs/12/sql-select.html#SQL-ORDERBY), [13](https://www.postgresql.org/docs/13/sql-select.html#SQL-ORDERBY), [14](https://www.postgresql.org/docs/14/sql-select.html#SQL-ORDERBY)):
181
+
182
+ > If two rows are equal according to the leftmost expression, they are compared according to the next expression and so on. If they are equal according to all specified expressions, they are returned in an implementation-dependent order.
183
+
184
+ SQLite ([3.39](https://www.sqlite.org/lang_select.html#the_order_by_clause)):
167
185
 
168
- When new minor versions of ActiveRecord or Ruby are released, I will update the Appraisals file and run `bundle exec appraisal update` as well as the install, and update the matrix in the ci.yml workflow. There will be a patch-level release for these changes, even if no Unreliable code changes are required.
186
+ > The order in which two rows for which all ORDER BY expressions evaluate to equal values are returned is undefined.
169
187
 
170
188
  ## See also
171
189
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Unreliable
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
data/spec/examples.txt CHANGED
@@ -1,14 +1,14 @@
1
1
  example_id | status | run_time |
2
2
  ---------------------------------- | ------ | --------------- |
3
- ./spec/env_spec.rb[1:1] | passed | 0.00986 seconds |
4
- ./spec/env_spec.rb[1:2] | passed | 0.00041 seconds |
5
- ./spec/model_select_spec.rb[1:1] | passed | 0.00035 seconds |
6
- ./spec/model_select_spec.rb[1:2] | passed | 0.00044 seconds |
7
- ./spec/model_select_spec.rb[1:3] | passed | 0.0005 seconds |
8
- ./spec/model_select_spec.rb[1:4] | passed | 0.00061 seconds |
9
- ./spec/model_subquery_spec.rb[1:1] | passed | 0.00125 seconds |
10
- ./spec/model_update_spec.rb[1:1] | passed | 0.00012 seconds |
11
- ./spec/railtie_spec.rb[1:1] | passed | 0.00062 seconds |
12
- ./spec/railtie_spec.rb[1:2] | passed | 0.00018 seconds |
13
- ./spec/version_spec.rb[1:1] | passed | 0.00127 seconds |
3
+ ./spec/env_spec.rb[1:1] | passed | 0.00261 seconds |
4
+ ./spec/env_spec.rb[1:2] | passed | 0.00042 seconds |
5
+ ./spec/model_select_spec.rb[1:1] | passed | 0.00033 seconds |
6
+ ./spec/model_select_spec.rb[1:2] | passed | 0.0005 seconds |
7
+ ./spec/model_select_spec.rb[1:3] | passed | 0.00042 seconds |
8
+ ./spec/model_select_spec.rb[1:4] | passed | 0.00064 seconds |
9
+ ./spec/model_subquery_spec.rb[1:1] | passed | 0.00135 seconds |
10
+ ./spec/model_update_spec.rb[1:1] | passed | 0.00011 seconds |
11
+ ./spec/railtie_spec.rb[1:1] | passed | 0.00064 seconds |
12
+ ./spec/railtie_spec.rb[1:2] | passed | 0.00014 seconds |
13
+ ./spec/version_spec.rb[1:1] | passed | 0.00116 seconds |
14
14
  ./spec/version_spec.rb[1:2] | passed | 0.00016 seconds |
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unreliable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James McCarthy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-27 00:00:00.000000000 Z
11
+ date: 2022-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -150,31 +150,18 @@ dependencies:
150
150
  version: '1.11'
151
151
  description: |
152
152
  Unreliable helps uncover bugs in Rails apps that rely on ambiguous database ordering.
153
- With it installed, a test suite is less likely to accidentally succeed.
153
+ Installing it makes both your app and your test suite more robust.
154
154
  email: jamie@mccarthy.vg
155
155
  executables: []
156
156
  extensions: []
157
157
  extra_rdoc_files: []
158
158
  files:
159
- - Appraisals
160
159
  - CHANGELOG.md
161
160
  - CODE_OF_CONDUCT.md
162
161
  - Gemfile
163
162
  - LICENSE
164
163
  - README.md
165
164
  - Rakefile
166
- - gemfiles/activerecord_5.0.gemfile
167
- - gemfiles/activerecord_5.0.gemfile.lock
168
- - gemfiles/activerecord_5.1.gemfile
169
- - gemfiles/activerecord_5.1.gemfile.lock
170
- - gemfiles/activerecord_5.2.gemfile
171
- - gemfiles/activerecord_5.2.gemfile.lock
172
- - gemfiles/activerecord_6.0.gemfile
173
- - gemfiles/activerecord_6.0.gemfile.lock
174
- - gemfiles/activerecord_6.1.gemfile
175
- - gemfiles/activerecord_6.1.gemfile.lock
176
- - gemfiles/activerecord_7.0.gemfile
177
- - gemfiles/activerecord_7.0.gemfile.lock
178
165
  - lib/unreliable.rb
179
166
  - lib/unreliable/build_order.rb
180
167
  - lib/unreliable/config.rb
@@ -212,5 +199,5 @@ requirements: []
212
199
  rubygems_version: 3.1.6
213
200
  signing_key:
214
201
  specification_version: 4
215
- summary: Randomize relation final order for tests
202
+ summary: For ActiveRecord tests, surface ambiguous-ordering bugs
216
203
  test_files: []
data/Appraisals DELETED
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # The appraisal gem seems to be a convenient way to use this small config file to
4
- # build the gemfiles/* for the GitHub CI matrix.
5
- # Any `bundle update/install` should be accompanied by `bundle exec appraisal update/install`
6
-
7
- appraise "activerecord-5.0" do
8
- gem "activerecord", "~> 5.0.0"
9
- gem "sqlite3", "~> 1.3.6"
10
- end
11
-
12
- appraise "activerecord-5.1" do
13
- gem "activerecord", "~> 5.1.0"
14
- gem "sqlite3", "~> 1.3.6"
15
- end
16
-
17
- appraise "activerecord-5.2" do
18
- gem "activerecord", "~> 5.2.0"
19
- gem "sqlite3", "~> 1.3.6"
20
- end
21
-
22
- appraise "activerecord-6.0" do
23
- gem "activerecord", "~> 6.0.0"
24
- end
25
-
26
- appraise "activerecord-6.1" do
27
- gem "activerecord", "~> 6.1.0"
28
- end
29
-
30
- appraise "activerecord-7.0" do
31
- gem "activerecord", "~> 7.0.0"
32
- end
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 5.0.0"
6
- gem "sqlite3", "~> 1.3.6"
7
-
8
- gemspec path: "../"
@@ -1,134 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- unreliable (0.1.2)
5
- activerecord (>= 5.0, < 8.0)
6
- railties (>= 5.0, < 8.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (5.0.7.2)
12
- actionview (= 5.0.7.2)
13
- activesupport (= 5.0.7.2)
14
- rack (~> 2.0)
15
- rack-test (~> 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
18
- actionview (5.0.7.2)
19
- activesupport (= 5.0.7.2)
20
- builder (~> 3.1)
21
- erubis (~> 2.7.0)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
24
- activemodel (5.0.7.2)
25
- activesupport (= 5.0.7.2)
26
- activerecord (5.0.7.2)
27
- activemodel (= 5.0.7.2)
28
- activesupport (= 5.0.7.2)
29
- arel (~> 7.0)
30
- activesupport (5.0.7.2)
31
- concurrent-ruby (~> 1.0, >= 1.0.2)
32
- i18n (>= 0.7, < 2)
33
- minitest (~> 5.1)
34
- tzinfo (~> 1.1)
35
- appraisal (2.4.1)
36
- bundler
37
- rake
38
- thor (>= 0.14.0)
39
- arel (7.1.4)
40
- ast (2.4.2)
41
- builder (3.2.4)
42
- combustion (1.3.5)
43
- activesupport (>= 3.0.0)
44
- railties (>= 3.0.0)
45
- thor (>= 0.14.6)
46
- concurrent-ruby (1.1.10)
47
- crass (1.0.6)
48
- diff-lcs (1.5.0)
49
- erubis (2.7.0)
50
- i18n (1.10.0)
51
- concurrent-ruby (~> 1.0)
52
- loofah (2.16.0)
53
- crass (~> 1.0.2)
54
- nokogiri (>= 1.5.9)
55
- method_source (1.0.0)
56
- minitest (5.15.0)
57
- nokogiri (1.13.4-x86_64-linux)
58
- racc (~> 1.4)
59
- parallel (1.22.1)
60
- parser (3.1.2.0)
61
- ast (~> 2.4.1)
62
- racc (1.6.0)
63
- rack (2.2.3)
64
- rack-test (0.6.3)
65
- rack (>= 1.0)
66
- rails-dom-testing (2.0.3)
67
- activesupport (>= 4.2.0)
68
- nokogiri (>= 1.6)
69
- rails-html-sanitizer (1.4.2)
70
- loofah (~> 2.3)
71
- railties (5.0.7.2)
72
- actionpack (= 5.0.7.2)
73
- activesupport (= 5.0.7.2)
74
- method_source
75
- rake (>= 0.8.7)
76
- thor (>= 0.18.1, < 2.0)
77
- rainbow (3.1.1)
78
- rake (13.0.6)
79
- regexp_parser (2.3.1)
80
- rexml (3.2.5)
81
- rspec (3.11.0)
82
- rspec-core (~> 3.11.0)
83
- rspec-expectations (~> 3.11.0)
84
- rspec-mocks (~> 3.11.0)
85
- rspec-core (3.11.0)
86
- rspec-support (~> 3.11.0)
87
- rspec-expectations (3.11.0)
88
- diff-lcs (>= 1.2.0, < 2.0)
89
- rspec-support (~> 3.11.0)
90
- rspec-mocks (3.11.1)
91
- diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.11.0)
93
- rspec-support (3.11.0)
94
- rubocop (1.28.2)
95
- parallel (~> 1.10)
96
- parser (>= 3.1.0.0)
97
- rainbow (>= 2.2.2, < 4.0)
98
- regexp_parser (>= 1.8, < 3.0)
99
- rexml
100
- rubocop-ast (>= 1.17.0, < 2.0)
101
- ruby-progressbar (~> 1.7)
102
- unicode-display_width (>= 1.4.0, < 3.0)
103
- rubocop-ast (1.17.0)
104
- parser (>= 3.1.1.0)
105
- rubocop-performance (1.13.3)
106
- rubocop (>= 1.7.0, < 2.0)
107
- rubocop-ast (>= 0.4.0)
108
- ruby-progressbar (1.11.0)
109
- sqlite3 (1.3.13)
110
- standard (1.11.0)
111
- rubocop (= 1.28.2)
112
- rubocop-performance (= 1.13.3)
113
- thor (1.2.1)
114
- thread_safe (0.3.6)
115
- tzinfo (1.2.9)
116
- thread_safe (~> 0.1)
117
- unicode-display_width (2.1.0)
118
-
119
- PLATFORMS
120
- x86_64-linux
121
-
122
- DEPENDENCIES
123
- activerecord (~> 5.0.0)
124
- appraisal (~> 2.4)
125
- bundler (~> 2.1)
126
- combustion (~> 1.3)
127
- rake (~> 13.0)
128
- rspec (~> 3.0)
129
- sqlite3 (~> 1.3.6)
130
- standard (~> 1.11)
131
- unreliable!
132
-
133
- BUNDLED WITH
134
- 2.3.8
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 5.1.0"
6
- gem "sqlite3", "~> 1.3.6"
7
-
8
- gemspec path: "../"
@@ -1,134 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- unreliable (0.1.2)
5
- activerecord (>= 5.0, < 8.0)
6
- railties (>= 5.0, < 8.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (5.1.7)
12
- actionview (= 5.1.7)
13
- activesupport (= 5.1.7)
14
- rack (~> 2.0)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
18
- actionview (5.1.7)
19
- activesupport (= 5.1.7)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
24
- activemodel (5.1.7)
25
- activesupport (= 5.1.7)
26
- activerecord (5.1.7)
27
- activemodel (= 5.1.7)
28
- activesupport (= 5.1.7)
29
- arel (~> 8.0)
30
- activesupport (5.1.7)
31
- concurrent-ruby (~> 1.0, >= 1.0.2)
32
- i18n (>= 0.7, < 2)
33
- minitest (~> 5.1)
34
- tzinfo (~> 1.1)
35
- appraisal (2.4.1)
36
- bundler
37
- rake
38
- thor (>= 0.14.0)
39
- arel (8.0.0)
40
- ast (2.4.2)
41
- builder (3.2.4)
42
- combustion (1.3.5)
43
- activesupport (>= 3.0.0)
44
- railties (>= 3.0.0)
45
- thor (>= 0.14.6)
46
- concurrent-ruby (1.1.10)
47
- crass (1.0.6)
48
- diff-lcs (1.5.0)
49
- erubi (1.10.0)
50
- i18n (1.10.0)
51
- concurrent-ruby (~> 1.0)
52
- loofah (2.16.0)
53
- crass (~> 1.0.2)
54
- nokogiri (>= 1.5.9)
55
- method_source (1.0.0)
56
- minitest (5.15.0)
57
- nokogiri (1.13.4-x86_64-linux)
58
- racc (~> 1.4)
59
- parallel (1.22.1)
60
- parser (3.1.2.0)
61
- ast (~> 2.4.1)
62
- racc (1.6.0)
63
- rack (2.2.3)
64
- rack-test (1.1.0)
65
- rack (>= 1.0, < 3)
66
- rails-dom-testing (2.0.3)
67
- activesupport (>= 4.2.0)
68
- nokogiri (>= 1.6)
69
- rails-html-sanitizer (1.4.2)
70
- loofah (~> 2.3)
71
- railties (5.1.7)
72
- actionpack (= 5.1.7)
73
- activesupport (= 5.1.7)
74
- method_source
75
- rake (>= 0.8.7)
76
- thor (>= 0.18.1, < 2.0)
77
- rainbow (3.1.1)
78
- rake (13.0.6)
79
- regexp_parser (2.3.1)
80
- rexml (3.2.5)
81
- rspec (3.11.0)
82
- rspec-core (~> 3.11.0)
83
- rspec-expectations (~> 3.11.0)
84
- rspec-mocks (~> 3.11.0)
85
- rspec-core (3.11.0)
86
- rspec-support (~> 3.11.0)
87
- rspec-expectations (3.11.0)
88
- diff-lcs (>= 1.2.0, < 2.0)
89
- rspec-support (~> 3.11.0)
90
- rspec-mocks (3.11.1)
91
- diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.11.0)
93
- rspec-support (3.11.0)
94
- rubocop (1.28.2)
95
- parallel (~> 1.10)
96
- parser (>= 3.1.0.0)
97
- rainbow (>= 2.2.2, < 4.0)
98
- regexp_parser (>= 1.8, < 3.0)
99
- rexml
100
- rubocop-ast (>= 1.17.0, < 2.0)
101
- ruby-progressbar (~> 1.7)
102
- unicode-display_width (>= 1.4.0, < 3.0)
103
- rubocop-ast (1.17.0)
104
- parser (>= 3.1.1.0)
105
- rubocop-performance (1.13.3)
106
- rubocop (>= 1.7.0, < 2.0)
107
- rubocop-ast (>= 0.4.0)
108
- ruby-progressbar (1.11.0)
109
- sqlite3 (1.3.13)
110
- standard (1.11.0)
111
- rubocop (= 1.28.2)
112
- rubocop-performance (= 1.13.3)
113
- thor (1.2.1)
114
- thread_safe (0.3.6)
115
- tzinfo (1.2.9)
116
- thread_safe (~> 0.1)
117
- unicode-display_width (2.1.0)
118
-
119
- PLATFORMS
120
- x86_64-linux
121
-
122
- DEPENDENCIES
123
- activerecord (~> 5.1.0)
124
- appraisal (~> 2.4)
125
- bundler (~> 2.1)
126
- combustion (~> 1.3)
127
- rake (~> 13.0)
128
- rspec (~> 3.0)
129
- sqlite3 (~> 1.3.6)
130
- standard (~> 1.11)
131
- unreliable!
132
-
133
- BUNDLED WITH
134
- 2.3.8
@@ -1,8 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 5.2.0"
6
- gem "sqlite3", "~> 1.3.6"
7
-
8
- gemspec path: "../"
@@ -1,134 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- unreliable (0.1.2)
5
- activerecord (>= 5.0, < 8.0)
6
- railties (>= 5.0, < 8.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (5.2.7)
12
- actionview (= 5.2.7)
13
- activesupport (= 5.2.7)
14
- rack (~> 2.0, >= 2.0.8)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
18
- actionview (5.2.7)
19
- activesupport (= 5.2.7)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
24
- activemodel (5.2.7)
25
- activesupport (= 5.2.7)
26
- activerecord (5.2.7)
27
- activemodel (= 5.2.7)
28
- activesupport (= 5.2.7)
29
- arel (>= 9.0)
30
- activesupport (5.2.7)
31
- concurrent-ruby (~> 1.0, >= 1.0.2)
32
- i18n (>= 0.7, < 2)
33
- minitest (~> 5.1)
34
- tzinfo (~> 1.1)
35
- appraisal (2.4.1)
36
- bundler
37
- rake
38
- thor (>= 0.14.0)
39
- arel (9.0.0)
40
- ast (2.4.2)
41
- builder (3.2.4)
42
- combustion (1.3.5)
43
- activesupport (>= 3.0.0)
44
- railties (>= 3.0.0)
45
- thor (>= 0.14.6)
46
- concurrent-ruby (1.1.10)
47
- crass (1.0.6)
48
- diff-lcs (1.5.0)
49
- erubi (1.10.0)
50
- i18n (1.10.0)
51
- concurrent-ruby (~> 1.0)
52
- loofah (2.16.0)
53
- crass (~> 1.0.2)
54
- nokogiri (>= 1.5.9)
55
- method_source (1.0.0)
56
- minitest (5.15.0)
57
- nokogiri (1.13.4-x86_64-linux)
58
- racc (~> 1.4)
59
- parallel (1.22.1)
60
- parser (3.1.2.0)
61
- ast (~> 2.4.1)
62
- racc (1.6.0)
63
- rack (2.2.3)
64
- rack-test (1.1.0)
65
- rack (>= 1.0, < 3)
66
- rails-dom-testing (2.0.3)
67
- activesupport (>= 4.2.0)
68
- nokogiri (>= 1.6)
69
- rails-html-sanitizer (1.4.2)
70
- loofah (~> 2.3)
71
- railties (5.2.7)
72
- actionpack (= 5.2.7)
73
- activesupport (= 5.2.7)
74
- method_source
75
- rake (>= 0.8.7)
76
- thor (>= 0.19.0, < 2.0)
77
- rainbow (3.1.1)
78
- rake (13.0.6)
79
- regexp_parser (2.3.1)
80
- rexml (3.2.5)
81
- rspec (3.11.0)
82
- rspec-core (~> 3.11.0)
83
- rspec-expectations (~> 3.11.0)
84
- rspec-mocks (~> 3.11.0)
85
- rspec-core (3.11.0)
86
- rspec-support (~> 3.11.0)
87
- rspec-expectations (3.11.0)
88
- diff-lcs (>= 1.2.0, < 2.0)
89
- rspec-support (~> 3.11.0)
90
- rspec-mocks (3.11.1)
91
- diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.11.0)
93
- rspec-support (3.11.0)
94
- rubocop (1.28.2)
95
- parallel (~> 1.10)
96
- parser (>= 3.1.0.0)
97
- rainbow (>= 2.2.2, < 4.0)
98
- regexp_parser (>= 1.8, < 3.0)
99
- rexml
100
- rubocop-ast (>= 1.17.0, < 2.0)
101
- ruby-progressbar (~> 1.7)
102
- unicode-display_width (>= 1.4.0, < 3.0)
103
- rubocop-ast (1.17.0)
104
- parser (>= 3.1.1.0)
105
- rubocop-performance (1.13.3)
106
- rubocop (>= 1.7.0, < 2.0)
107
- rubocop-ast (>= 0.4.0)
108
- ruby-progressbar (1.11.0)
109
- sqlite3 (1.3.13)
110
- standard (1.11.0)
111
- rubocop (= 1.28.2)
112
- rubocop-performance (= 1.13.3)
113
- thor (1.2.1)
114
- thread_safe (0.3.6)
115
- tzinfo (1.2.9)
116
- thread_safe (~> 0.1)
117
- unicode-display_width (2.1.0)
118
-
119
- PLATFORMS
120
- x86_64-linux
121
-
122
- DEPENDENCIES
123
- activerecord (~> 5.2.0)
124
- appraisal (~> 2.4)
125
- bundler (~> 2.1)
126
- combustion (~> 1.3)
127
- rake (~> 13.0)
128
- rspec (~> 3.0)
129
- sqlite3 (~> 1.3.6)
130
- standard (~> 1.11)
131
- unreliable!
132
-
133
- BUNDLED WITH
134
- 2.3.8
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 6.0.0"
6
-
7
- gemspec path: "../"
@@ -1,134 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- unreliable (0.1.2)
5
- activerecord (>= 5.0, < 8.0)
6
- railties (>= 5.0, < 8.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (6.0.4.7)
12
- actionview (= 6.0.4.7)
13
- activesupport (= 6.0.4.7)
14
- rack (~> 2.0, >= 2.0.8)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (6.0.4.7)
19
- activesupport (= 6.0.4.7)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activemodel (6.0.4.7)
25
- activesupport (= 6.0.4.7)
26
- activerecord (6.0.4.7)
27
- activemodel (= 6.0.4.7)
28
- activesupport (= 6.0.4.7)
29
- activesupport (6.0.4.7)
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
31
- i18n (>= 0.7, < 2)
32
- minitest (~> 5.1)
33
- tzinfo (~> 1.1)
34
- zeitwerk (~> 2.2, >= 2.2.2)
35
- appraisal (2.4.1)
36
- bundler
37
- rake
38
- thor (>= 0.14.0)
39
- ast (2.4.2)
40
- builder (3.2.4)
41
- combustion (1.3.5)
42
- activesupport (>= 3.0.0)
43
- railties (>= 3.0.0)
44
- thor (>= 0.14.6)
45
- concurrent-ruby (1.1.10)
46
- crass (1.0.6)
47
- diff-lcs (1.5.0)
48
- erubi (1.10.0)
49
- i18n (1.10.0)
50
- concurrent-ruby (~> 1.0)
51
- loofah (2.16.0)
52
- crass (~> 1.0.2)
53
- nokogiri (>= 1.5.9)
54
- method_source (1.0.0)
55
- minitest (5.15.0)
56
- nokogiri (1.13.4-x86_64-linux)
57
- racc (~> 1.4)
58
- parallel (1.22.1)
59
- parser (3.1.2.0)
60
- ast (~> 2.4.1)
61
- racc (1.6.0)
62
- rack (2.2.3)
63
- rack-test (1.1.0)
64
- rack (>= 1.0, < 3)
65
- rails-dom-testing (2.0.3)
66
- activesupport (>= 4.2.0)
67
- nokogiri (>= 1.6)
68
- rails-html-sanitizer (1.4.2)
69
- loofah (~> 2.3)
70
- railties (6.0.4.7)
71
- actionpack (= 6.0.4.7)
72
- activesupport (= 6.0.4.7)
73
- method_source
74
- rake (>= 0.8.7)
75
- thor (>= 0.20.3, < 2.0)
76
- rainbow (3.1.1)
77
- rake (13.0.6)
78
- regexp_parser (2.3.1)
79
- rexml (3.2.5)
80
- rspec (3.11.0)
81
- rspec-core (~> 3.11.0)
82
- rspec-expectations (~> 3.11.0)
83
- rspec-mocks (~> 3.11.0)
84
- rspec-core (3.11.0)
85
- rspec-support (~> 3.11.0)
86
- rspec-expectations (3.11.0)
87
- diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.11.0)
89
- rspec-mocks (3.11.1)
90
- diff-lcs (>= 1.2.0, < 2.0)
91
- rspec-support (~> 3.11.0)
92
- rspec-support (3.11.0)
93
- rubocop (1.28.2)
94
- parallel (~> 1.10)
95
- parser (>= 3.1.0.0)
96
- rainbow (>= 2.2.2, < 4.0)
97
- regexp_parser (>= 1.8, < 3.0)
98
- rexml
99
- rubocop-ast (>= 1.17.0, < 2.0)
100
- ruby-progressbar (~> 1.7)
101
- unicode-display_width (>= 1.4.0, < 3.0)
102
- rubocop-ast (1.17.0)
103
- parser (>= 3.1.1.0)
104
- rubocop-performance (1.13.3)
105
- rubocop (>= 1.7.0, < 2.0)
106
- rubocop-ast (>= 0.4.0)
107
- ruby-progressbar (1.11.0)
108
- sqlite3 (1.4.2)
109
- standard (1.11.0)
110
- rubocop (= 1.28.2)
111
- rubocop-performance (= 1.13.3)
112
- thor (1.2.1)
113
- thread_safe (0.3.6)
114
- tzinfo (1.2.9)
115
- thread_safe (~> 0.1)
116
- unicode-display_width (2.1.0)
117
- zeitwerk (2.5.4)
118
-
119
- PLATFORMS
120
- x86_64-linux
121
-
122
- DEPENDENCIES
123
- activerecord (~> 6.0.0)
124
- appraisal (~> 2.4)
125
- bundler (~> 2.1)
126
- combustion (~> 1.3)
127
- rake (~> 13.0)
128
- rspec (~> 3.0)
129
- sqlite3 (~> 1.4)
130
- standard (~> 1.11)
131
- unreliable!
132
-
133
- BUNDLED WITH
134
- 2.3.8
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 6.1.0"
6
-
7
- gemspec path: "../"
@@ -1,133 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- unreliable (0.1.2)
5
- activerecord (>= 5.0, < 8.0)
6
- railties (>= 5.0, < 8.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (6.1.5)
12
- actionview (= 6.1.5)
13
- activesupport (= 6.1.5)
14
- rack (~> 2.0, >= 2.0.9)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (6.1.5)
19
- activesupport (= 6.1.5)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activemodel (6.1.5)
25
- activesupport (= 6.1.5)
26
- activerecord (6.1.5)
27
- activemodel (= 6.1.5)
28
- activesupport (= 6.1.5)
29
- activesupport (6.1.5)
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
31
- i18n (>= 1.6, < 2)
32
- minitest (>= 5.1)
33
- tzinfo (~> 2.0)
34
- zeitwerk (~> 2.3)
35
- appraisal (2.4.1)
36
- bundler
37
- rake
38
- thor (>= 0.14.0)
39
- ast (2.4.2)
40
- builder (3.2.4)
41
- combustion (1.3.5)
42
- activesupport (>= 3.0.0)
43
- railties (>= 3.0.0)
44
- thor (>= 0.14.6)
45
- concurrent-ruby (1.1.10)
46
- crass (1.0.6)
47
- diff-lcs (1.5.0)
48
- erubi (1.10.0)
49
- i18n (1.10.0)
50
- concurrent-ruby (~> 1.0)
51
- loofah (2.16.0)
52
- crass (~> 1.0.2)
53
- nokogiri (>= 1.5.9)
54
- method_source (1.0.0)
55
- minitest (5.15.0)
56
- nokogiri (1.13.4-x86_64-linux)
57
- racc (~> 1.4)
58
- parallel (1.22.1)
59
- parser (3.1.2.0)
60
- ast (~> 2.4.1)
61
- racc (1.6.0)
62
- rack (2.2.3)
63
- rack-test (1.1.0)
64
- rack (>= 1.0, < 3)
65
- rails-dom-testing (2.0.3)
66
- activesupport (>= 4.2.0)
67
- nokogiri (>= 1.6)
68
- rails-html-sanitizer (1.4.2)
69
- loofah (~> 2.3)
70
- railties (6.1.5)
71
- actionpack (= 6.1.5)
72
- activesupport (= 6.1.5)
73
- method_source
74
- rake (>= 12.2)
75
- thor (~> 1.0)
76
- rainbow (3.1.1)
77
- rake (13.0.6)
78
- regexp_parser (2.3.1)
79
- rexml (3.2.5)
80
- rspec (3.11.0)
81
- rspec-core (~> 3.11.0)
82
- rspec-expectations (~> 3.11.0)
83
- rspec-mocks (~> 3.11.0)
84
- rspec-core (3.11.0)
85
- rspec-support (~> 3.11.0)
86
- rspec-expectations (3.11.0)
87
- diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.11.0)
89
- rspec-mocks (3.11.1)
90
- diff-lcs (>= 1.2.0, < 2.0)
91
- rspec-support (~> 3.11.0)
92
- rspec-support (3.11.0)
93
- rubocop (1.28.2)
94
- parallel (~> 1.10)
95
- parser (>= 3.1.0.0)
96
- rainbow (>= 2.2.2, < 4.0)
97
- regexp_parser (>= 1.8, < 3.0)
98
- rexml
99
- rubocop-ast (>= 1.17.0, < 2.0)
100
- ruby-progressbar (~> 1.7)
101
- unicode-display_width (>= 1.4.0, < 3.0)
102
- rubocop-ast (1.17.0)
103
- parser (>= 3.1.1.0)
104
- rubocop-performance (1.13.3)
105
- rubocop (>= 1.7.0, < 2.0)
106
- rubocop-ast (>= 0.4.0)
107
- ruby-progressbar (1.11.0)
108
- sqlite3 (1.4.2)
109
- standard (1.11.0)
110
- rubocop (= 1.28.2)
111
- rubocop-performance (= 1.13.3)
112
- thor (1.2.1)
113
- tzinfo (2.0.4)
114
- concurrent-ruby (~> 1.0)
115
- unicode-display_width (2.1.0)
116
- zeitwerk (2.5.4)
117
-
118
- PLATFORMS
119
- x86_64-linux
120
-
121
- DEPENDENCIES
122
- activerecord (~> 6.1.0)
123
- appraisal (~> 2.4)
124
- bundler (~> 2.1)
125
- combustion (~> 1.3)
126
- rake (~> 13.0)
127
- rspec (~> 3.0)
128
- sqlite3 (~> 1.4)
129
- standard (~> 1.11)
130
- unreliable!
131
-
132
- BUNDLED WITH
133
- 2.3.8
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activerecord", "~> 7.0.0"
6
-
7
- gemspec path: "../"
@@ -1,133 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- unreliable (0.1.2)
5
- activerecord (>= 5.0, < 8.0)
6
- railties (>= 5.0, < 8.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionpack (7.0.2.3)
12
- actionview (= 7.0.2.3)
13
- activesupport (= 7.0.2.3)
14
- rack (~> 2.0, >= 2.2.0)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (7.0.2.3)
19
- activesupport (= 7.0.2.3)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activemodel (7.0.2.3)
25
- activesupport (= 7.0.2.3)
26
- activerecord (7.0.2.3)
27
- activemodel (= 7.0.2.3)
28
- activesupport (= 7.0.2.3)
29
- activesupport (7.0.2.3)
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
31
- i18n (>= 1.6, < 2)
32
- minitest (>= 5.1)
33
- tzinfo (~> 2.0)
34
- appraisal (2.4.1)
35
- bundler
36
- rake
37
- thor (>= 0.14.0)
38
- ast (2.4.2)
39
- builder (3.2.4)
40
- combustion (1.3.5)
41
- activesupport (>= 3.0.0)
42
- railties (>= 3.0.0)
43
- thor (>= 0.14.6)
44
- concurrent-ruby (1.1.10)
45
- crass (1.0.6)
46
- diff-lcs (1.5.0)
47
- erubi (1.10.0)
48
- i18n (1.10.0)
49
- concurrent-ruby (~> 1.0)
50
- loofah (2.16.0)
51
- crass (~> 1.0.2)
52
- nokogiri (>= 1.5.9)
53
- method_source (1.0.0)
54
- minitest (5.15.0)
55
- nokogiri (1.13.4-x86_64-linux)
56
- racc (~> 1.4)
57
- parallel (1.22.1)
58
- parser (3.1.2.0)
59
- ast (~> 2.4.1)
60
- racc (1.6.0)
61
- rack (2.2.3)
62
- rack-test (1.1.0)
63
- rack (>= 1.0, < 3)
64
- rails-dom-testing (2.0.3)
65
- activesupport (>= 4.2.0)
66
- nokogiri (>= 1.6)
67
- rails-html-sanitizer (1.4.2)
68
- loofah (~> 2.3)
69
- railties (7.0.2.3)
70
- actionpack (= 7.0.2.3)
71
- activesupport (= 7.0.2.3)
72
- method_source
73
- rake (>= 12.2)
74
- thor (~> 1.0)
75
- zeitwerk (~> 2.5)
76
- rainbow (3.1.1)
77
- rake (13.0.6)
78
- regexp_parser (2.3.1)
79
- rexml (3.2.5)
80
- rspec (3.11.0)
81
- rspec-core (~> 3.11.0)
82
- rspec-expectations (~> 3.11.0)
83
- rspec-mocks (~> 3.11.0)
84
- rspec-core (3.11.0)
85
- rspec-support (~> 3.11.0)
86
- rspec-expectations (3.11.0)
87
- diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.11.0)
89
- rspec-mocks (3.11.1)
90
- diff-lcs (>= 1.2.0, < 2.0)
91
- rspec-support (~> 3.11.0)
92
- rspec-support (3.11.0)
93
- rubocop (1.28.2)
94
- parallel (~> 1.10)
95
- parser (>= 3.1.0.0)
96
- rainbow (>= 2.2.2, < 4.0)
97
- regexp_parser (>= 1.8, < 3.0)
98
- rexml
99
- rubocop-ast (>= 1.17.0, < 2.0)
100
- ruby-progressbar (~> 1.7)
101
- unicode-display_width (>= 1.4.0, < 3.0)
102
- rubocop-ast (1.17.0)
103
- parser (>= 3.1.1.0)
104
- rubocop-performance (1.13.3)
105
- rubocop (>= 1.7.0, < 2.0)
106
- rubocop-ast (>= 0.4.0)
107
- ruby-progressbar (1.11.0)
108
- sqlite3 (1.4.2)
109
- standard (1.11.0)
110
- rubocop (= 1.28.2)
111
- rubocop-performance (= 1.13.3)
112
- thor (1.2.1)
113
- tzinfo (2.0.4)
114
- concurrent-ruby (~> 1.0)
115
- unicode-display_width (2.1.0)
116
- zeitwerk (2.5.4)
117
-
118
- PLATFORMS
119
- x86_64-linux
120
-
121
- DEPENDENCIES
122
- activerecord (~> 7.0.0)
123
- appraisal (~> 2.4)
124
- bundler (~> 2.1)
125
- combustion (~> 1.3)
126
- rake (~> 13.0)
127
- rspec (~> 3.0)
128
- sqlite3 (~> 1.4)
129
- standard (~> 1.11)
130
- unreliable!
131
-
132
- BUNDLED WITH
133
- 2.3.8