activerecord-spanner-adapter 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/acceptance-tests-on-emulator.yaml +9 -13
  3. data/.github/workflows/acceptance-tests-on-production.yaml +4 -3
  4. data/.github/workflows/ci.yaml +8 -12
  5. data/.github/workflows/nightly-acceptance-tests-on-emulator.yaml +9 -13
  6. data/.github/workflows/nightly-acceptance-tests-on-production.yaml +4 -3
  7. data/.github/workflows/nightly-unit-tests.yaml +8 -12
  8. data/.github/workflows/rubocop.yaml +3 -3
  9. data/.github/workflows/samples.yaml +8 -12
  10. data/.gitignore +0 -1
  11. data/.release-please-manifest.json +1 -1
  12. data/.rubocop.yml +2 -0
  13. data/Appraisals +15 -0
  14. data/CHANGELOG.md +13 -0
  15. data/Gemfile +12 -22
  16. data/Gemfile.lock +479 -0
  17. data/acceptance/cases/migration/change_table_test.rb +4 -14
  18. data/acceptance/cases/models/generated_column_test.rb +8 -26
  19. data/acceptance/test_helper.rb +10 -22
  20. data/activerecord-spanner-adapter.gemspec +2 -1
  21. data/benchmarks/db/migrate/01_create_tables.rb +1 -1
  22. data/examples/rails/README.md +1 -1
  23. data/examples/snippets/Rakefile +0 -7
  24. data/examples/snippets/array-data-type/db/migrate/01_create_tables.rb +1 -1
  25. data/examples/snippets/batch-dml/db/migrate/01_create_tables.rb +1 -1
  26. data/examples/snippets/bulk-insert/db/migrate/01_create_tables.rb +1 -1
  27. data/examples/snippets/commit-timestamp/db/migrate/01_create_tables.rb +1 -1
  28. data/examples/snippets/create-records/db/migrate/01_create_tables.rb +1 -1
  29. data/examples/snippets/date-data-type/db/migrate/01_create_tables.rb +1 -1
  30. data/examples/snippets/generated-column/db/migrate/01_create_tables.rb +1 -1
  31. data/examples/snippets/hints/db/migrate/01_create_tables.rb +1 -1
  32. data/examples/snippets/interleaved-tables/README.md +2 -5
  33. data/examples/snippets/isolation-level/db/migrate/01_create_tables.rb +1 -1
  34. data/examples/snippets/migrations/db/migrate/01_create_tables.rb +1 -1
  35. data/examples/snippets/mutations/db/migrate/01_create_tables.rb +1 -1
  36. data/examples/snippets/optimistic-locking/db/migrate/01_create_tables.rb +1 -1
  37. data/examples/snippets/partitioned-dml/db/migrate/01_create_tables.rb +1 -1
  38. data/examples/snippets/query-logs/application.rb +3 -3
  39. data/examples/snippets/query-logs/db/migrate/01_create_tables.rb +1 -1
  40. data/examples/snippets/quickstart/db/migrate/01_create_tables.rb +1 -1
  41. data/examples/snippets/read-only-transactions/db/migrate/01_create_tables.rb +1 -1
  42. data/examples/snippets/read-write-transactions/db/migrate/01_create_tables.rb +1 -1
  43. data/examples/snippets/stale-reads/db/migrate/01_create_tables.rb +1 -1
  44. data/examples/snippets/tags/db/migrate/01_create_tables.rb +1 -1
  45. data/examples/snippets/timestamp-data-type/db/migrate/01_create_tables.rb +1 -1
  46. data/gemfiles/7.1.gemfile +18 -0
  47. data/gemfiles/7.1.gemfile.lock +389 -0
  48. data/gemfiles/7.2.gemfile +18 -0
  49. data/gemfiles/7.2.gemfile.lock +479 -0
  50. data/gemfiles/8.0.gemfile +18 -0
  51. data/gemfiles/8.0.gemfile.lock +480 -0
  52. data/gemfiles/8.1.gemfile +18 -0
  53. data/gemfiles/8.1.gemfile.lock +478 -0
  54. data/lib/active_record/connection_adapters/spanner/database_statements.rb +62 -95
  55. data/lib/active_record/connection_adapters/spanner/quoting.rb +0 -22
  56. data/lib/active_record/connection_adapters/spanner/schema_creation.rb +3 -15
  57. data/lib/active_record/connection_adapters/spanner/schema_statements.rb +0 -4
  58. data/lib/active_record/connection_adapters/spanner_adapter.rb +12 -14
  59. data/lib/active_record/type/spanner/spanner_active_record_converter.rb +33 -2
  60. data/lib/activerecord_spanner_adapter/base.rb +5 -27
  61. data/lib/activerecord_spanner_adapter/connection.rb +0 -20
  62. data/lib/activerecord_spanner_adapter/information_schema.rb +1 -4
  63. data/lib/activerecord_spanner_adapter/table.rb +0 -22
  64. data/lib/activerecord_spanner_adapter/version.rb +1 -1
  65. data/lib/arel/visitors/spanner.rb +12 -15
  66. data/lib/spanner_client_ext.rb +6 -2
  67. metadata +27 -17
  68. data/acceptance/cases/interleaved_associations/has_many_associations_using_interleaved_test.rb +0 -221
  69. data/acceptance/cases/models/interleave_test.rb +0 -113
  70. data/acceptance/cases/transactions/optimistic_locking_test.rb +0 -152
  71. data/acceptance/models/album.rb +0 -15
  72. data/acceptance/models/track.rb +0 -23
  73. data/examples/snippets/interleaved-tables-before-7.1/README.md +0 -167
  74. data/examples/snippets/interleaved-tables-before-7.1/Rakefile +0 -13
  75. data/examples/snippets/interleaved-tables-before-7.1/application.rb +0 -122
  76. data/examples/snippets/interleaved-tables-before-7.1/config/database.yml +0 -9
  77. data/examples/snippets/interleaved-tables-before-7.1/db/migrate/01_create_tables.rb +0 -44
  78. data/examples/snippets/interleaved-tables-before-7.1/db/seeds.rb +0 -40
  79. data/examples/snippets/interleaved-tables-before-7.1/models/album.rb +0 -20
  80. data/examples/snippets/interleaved-tables-before-7.1/models/singer.rb +0 -18
  81. data/examples/snippets/interleaved-tables-before-7.1/models/track.rb +0 -28
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  # Execute the entire migration as one DDL batch.
10
10
  connection.ddl_batch do
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -1,10 +1,7 @@
1
1
  # Sample - Interleaved Tables
2
2
 
3
- __NOTE__: This example requires Rails 7.1 or later.
4
-
5
- This example shows how to use interleaved tables with the Spanner ActiveRecord adapter in Rails 7.1 and later.
6
- Interleaved tables use composite primary keys. This is only supported by Rails 7.1 and later. For older versions,
7
- you need to use the third-party gem `composite_primary_key` (https://github.com/composite-primary-keys/composite_primary_keys).
3
+ This example shows how to use interleaved tables with the Spanner ActiveRecord adapter.
4
+ Interleaved tables use composite primary keys, which are natively supported in Rails 7.1 and later.
8
5
 
9
6
  See https://cloud.google.com/spanner/docs/schema-and-data-model#creating-interleaved-tables for more information
10
7
  on interleaved tables if you are not familiar with this concept.
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  # Execute the entire migration as one DDL batch.
10
10
  connection.ddl_batch do
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -55,9 +55,9 @@ class Application
55
55
  application: "example-app",
56
56
  action: "run-test-application",
57
57
  pid: -> { Process.pid.to_s },
58
- socket: ->(context) { context[:connection].pool.db_config.socket },
59
- db_host: ->(context) { context[:connection].pool.db_config.host },
60
- database: ->(context) { context[:connection].pool.db_config.database }
58
+ socket: ->(context) { (context[:connection] || ActiveRecord::Base.connection).pool.db_config.socket },
59
+ db_host: ->(context) { (context[:connection] || ActiveRecord::Base.connection).pool.db_config.host },
60
+ database: ->(context) { (context[:connection] || ActiveRecord::Base.connection).pool.db_config.database }
61
61
  }
62
62
  end
63
63
  end
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :meetings do |t|
@@ -0,0 +1,18 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 7.1.0"
6
+ gem "docker-api"
7
+ gem "irb"
8
+ gem "minitest", "~> 5.27.0"
9
+ gem "minitest-rg", "~> 5.4.0"
10
+ gem "mutex_m"
11
+ gem "ostruct"
12
+ gem "pry", "~> 0.16.0"
13
+ gem "pry-byebug", "~> 3.12.0"
14
+ gem "readline"
15
+ gem "sinatra-activerecord"
16
+ gem "sqlite3"
17
+
18
+ gemspec path: "../"
@@ -0,0 +1,389 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ activerecord-spanner-adapter (2.6.0)
5
+ activerecord (>= 7.1, < 9)
6
+ google-cloud-spanner (~> 2.25)
7
+ google-cloud-spanner-v1 (~> 1.7)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activemodel (7.1.6)
13
+ activesupport (= 7.1.6)
14
+ activerecord (7.1.6)
15
+ activemodel (= 7.1.6)
16
+ activesupport (= 7.1.6)
17
+ timeout (>= 0.4.0)
18
+ activesupport (7.1.6)
19
+ base64
20
+ benchmark (>= 0.3)
21
+ bigdecimal
22
+ concurrent-ruby (~> 1.0, >= 1.0.2)
23
+ connection_pool (>= 2.2.5)
24
+ drb
25
+ i18n (>= 1.6, < 2)
26
+ logger (>= 1.4.2)
27
+ minitest (>= 5.1)
28
+ mutex_m
29
+ securerandom (>= 0.3)
30
+ tzinfo (~> 2.0)
31
+ addressable (2.9.0)
32
+ public_suffix (>= 2.0.2, < 8.0)
33
+ appraisal (2.5.0)
34
+ bundler
35
+ rake
36
+ thor (>= 0.14.0)
37
+ ast (2.4.3)
38
+ autotest-suffix (1.1.0)
39
+ base64 (0.3.0)
40
+ benchmark (0.5.0)
41
+ bigdecimal (3.3.1)
42
+ byebug (13.0.0)
43
+ reline (>= 0.6.0)
44
+ coderay (1.1.3)
45
+ concurrent-ruby (1.3.8)
46
+ connection_pool (3.0.2)
47
+ docile (1.4.1)
48
+ docker-api (2.4.0)
49
+ excon (>= 0.64.0)
50
+ multi_json
51
+ drb (2.2.3)
52
+ erb (6.0.6)
53
+ excon (1.6.0)
54
+ logger
55
+ faraday (2.14.3)
56
+ faraday-net_http (>= 2.0, < 3.5)
57
+ json
58
+ logger
59
+ faraday-net_http (3.4.4)
60
+ net-http (~> 0.5)
61
+ faraday-retry (2.4.0)
62
+ faraday (~> 2.0)
63
+ gapic-common (1.3.0)
64
+ faraday (>= 1.9, < 3.a)
65
+ faraday-retry (>= 1.0, < 3.a)
66
+ google-cloud-env (~> 2.2)
67
+ google-logging-utils (~> 0.1)
68
+ google-protobuf (~> 4.26)
69
+ googleapis-common-protos (~> 1.6)
70
+ googleapis-common-protos-types (~> 1.15)
71
+ googleauth (~> 1.12)
72
+ grpc (~> 1.66)
73
+ google-cloud-core (1.9.0)
74
+ google-cloud-env (>= 1.0, < 3.a)
75
+ google-cloud-errors (~> 1.0)
76
+ google-cloud-env (2.4.0)
77
+ base64 (~> 0.2)
78
+ faraday (>= 1.0, < 3.a)
79
+ google-cloud-errors (1.7.0)
80
+ google-cloud-spanner (2.36.0)
81
+ bigdecimal (~> 3.0)
82
+ concurrent-ruby (~> 1.0)
83
+ google-cloud-core (~> 1.7)
84
+ google-cloud-spanner-admin-database-v1 (~> 1.4)
85
+ google-cloud-spanner-admin-instance-v1 (~> 1.6)
86
+ google-cloud-spanner-v1 (~> 1.6)
87
+ google-cloud-spanner-admin-database-v1 (1.6.1)
88
+ gapic-common (>= 0.25.0, < 2.a)
89
+ google-cloud-errors (~> 1.0)
90
+ grpc-google-iam-v1 (~> 1.1)
91
+ google-cloud-spanner-admin-instance-v1 (1.6.0)
92
+ gapic-common (>= 0.25.0, < 2.a)
93
+ google-cloud-errors (~> 1.0)
94
+ grpc-google-iam-v1 (~> 1.1)
95
+ google-cloud-spanner-v1 (1.19.0)
96
+ gapic-common (~> 1.3)
97
+ google-cloud-errors (~> 1.0)
98
+ google-logging-utils (0.2.0)
99
+ google-protobuf (4.35.1-arm64-darwin)
100
+ bigdecimal
101
+ rake (~> 13.3)
102
+ google-style (1.32.0)
103
+ rubocop (~> 1.76)
104
+ googleapis-common-protos (1.10.0)
105
+ google-protobuf (~> 4.26)
106
+ googleapis-common-protos-types (~> 1.21)
107
+ grpc (~> 1.41)
108
+ googleapis-common-protos-types (1.23.0)
109
+ google-protobuf (~> 4.26)
110
+ googleauth (1.17.3)
111
+ faraday (>= 1.0, < 3.a)
112
+ google-cloud-env (~> 2.2)
113
+ google-logging-utils (~> 0.1)
114
+ jwt (>= 1.4, < 4.0)
115
+ os (>= 0.9, < 2.0)
116
+ pstore (~> 0.1)
117
+ signet (>= 0.16, < 2.a)
118
+ grpc (1.83.0-arm64-darwin)
119
+ google-protobuf (>= 3.25, < 5.0)
120
+ googleapis-common-protos-types (~> 1.0)
121
+ grpc-google-iam-v1 (1.10.0)
122
+ google-protobuf (>= 3.18, < 5.a)
123
+ googleapis-common-protos (~> 1.4)
124
+ grpc (~> 1.41)
125
+ i18n (1.15.2)
126
+ concurrent-ruby (~> 1.0)
127
+ io-console (0.8.2)
128
+ irb (1.18.0)
129
+ pp (>= 0.6.0)
130
+ prism (>= 1.3.0)
131
+ rdoc (>= 4.0.0)
132
+ reline (>= 0.4.2)
133
+ json (2.21.2)
134
+ jwt (3.2.0)
135
+ base64
136
+ language_server-protocol (3.17.0.6)
137
+ lint_roller (1.1.0)
138
+ logger (1.7.0)
139
+ method_source (1.1.0)
140
+ minitest (5.27.0)
141
+ minitest-autotest (1.2.0)
142
+ minitest-server (~> 1.0)
143
+ path_expander (~> 2.0)
144
+ minitest-focus (1.4.1)
145
+ minitest (> 5.0)
146
+ minitest-rg (5.4.0)
147
+ minitest (>= 5.0, < 7)
148
+ minitest-server (1.0.10)
149
+ drb (~> 2.0)
150
+ minitest (~> 5.16)
151
+ multi_json (1.21.1)
152
+ mustermann (3.1.1)
153
+ mutex_m (0.3.0)
154
+ net-http (0.9.1)
155
+ uri (>= 0.11.1)
156
+ os (1.1.4)
157
+ ostruct (0.6.3)
158
+ parallel (1.28.0)
159
+ parser (3.3.12.0)
160
+ ast (~> 2.4.1)
161
+ racc
162
+ path_expander (2.0.1)
163
+ pp (0.6.4)
164
+ prettyprint
165
+ prettyprint (0.2.0)
166
+ prism (1.9.0)
167
+ pry (0.16.0)
168
+ coderay (~> 1.1)
169
+ method_source (~> 1.0)
170
+ reline (>= 0.6.0)
171
+ pry-byebug (3.12.0)
172
+ byebug (~> 13.0)
173
+ pry (>= 0.13, < 0.17)
174
+ pstore (0.2.1)
175
+ public_suffix (7.0.5)
176
+ racc (1.8.1)
177
+ rack (3.2.6)
178
+ rack-protection (4.2.1)
179
+ base64 (>= 0.1.0)
180
+ logger (>= 1.6.0)
181
+ rack (>= 3.0.0, < 4)
182
+ rack-session (2.1.2)
183
+ base64 (>= 0.1.0)
184
+ rack (>= 3.0.0)
185
+ rainbow (3.1.1)
186
+ rake (13.4.2)
187
+ rbs (4.1.1)
188
+ logger
189
+ prism (>= 1.6.0)
190
+ tsort
191
+ rdoc (8.0.0)
192
+ erb
193
+ prism (>= 1.6.0)
194
+ rbs (>= 4.0.0)
195
+ tsort
196
+ readline (0.0.4)
197
+ reline
198
+ redcarpet (3.6.1)
199
+ regexp_parser (2.12.0)
200
+ reline (0.6.3)
201
+ io-console (~> 0.5)
202
+ rubocop (1.88.2)
203
+ json (~> 2.3)
204
+ language_server-protocol (~> 3.17.0.2)
205
+ lint_roller (~> 1.1.0)
206
+ parallel (>= 1.10)
207
+ parser (>= 3.3.0.2)
208
+ rainbow (>= 2.2.2, < 4.0)
209
+ regexp_parser (>= 2.9.3, < 3.0)
210
+ rubocop-ast (>= 1.49.0, < 2.0)
211
+ ruby-progressbar (~> 1.7)
212
+ unicode-display_width (>= 2.4.0, < 4.0)
213
+ rubocop-ast (1.50.0)
214
+ parser (>= 3.3.7.2)
215
+ prism (~> 1.7)
216
+ ruby-progressbar (1.13.0)
217
+ securerandom (0.4.1)
218
+ signet (0.22.0)
219
+ addressable (~> 2.8)
220
+ faraday (>= 0.17.5, < 3.a)
221
+ jwt (>= 1.5, < 4.0)
222
+ simplecov (0.22.0)
223
+ docile (~> 1.1)
224
+ simplecov-html (~> 0.11)
225
+ simplecov_json_formatter (~> 0.1)
226
+ simplecov-html (0.13.2)
227
+ simplecov_json_formatter (0.1.4)
228
+ sinatra (4.2.1)
229
+ logger (>= 1.6.0)
230
+ mustermann (~> 3.0)
231
+ rack (>= 3.0.0, < 4)
232
+ rack-protection (= 4.2.1)
233
+ rack-session (>= 2.0.0, < 3)
234
+ tilt (~> 2.0)
235
+ sinatra-activerecord (2.0.28)
236
+ activerecord (>= 4.1)
237
+ sinatra (>= 1.0)
238
+ sqlite3 (2.9.5-arm64-darwin)
239
+ thor (1.5.0)
240
+ tilt (2.8.0)
241
+ timeout (0.6.1)
242
+ tsort (0.2.0)
243
+ tzinfo (2.0.6)
244
+ concurrent-ruby (~> 1.0)
245
+ unicode-display_width (3.2.0)
246
+ unicode-emoji (~> 4.1)
247
+ unicode-emoji (4.2.0)
248
+ uri (1.1.1)
249
+ yard (0.9.45)
250
+ yard-doctest (0.1.17)
251
+ minitest
252
+ yard
253
+
254
+ PLATFORMS
255
+ arm64-darwin
256
+
257
+ DEPENDENCIES
258
+ activerecord (~> 7.1.0)
259
+ activerecord-spanner-adapter!
260
+ appraisal (~> 2.5)
261
+ autotest-suffix (~> 1.1)
262
+ bundler (>= 2.0, < 5.0)
263
+ docker-api
264
+ google-style (~> 1.32.0)
265
+ irb
266
+ minitest (~> 5.27.0)
267
+ minitest-autotest (~> 1.0)
268
+ minitest-focus (~> 1.1)
269
+ minitest-rg (~> 5.4.0)
270
+ mutex_m
271
+ ostruct
272
+ pry (~> 0.16.0)
273
+ pry-byebug (~> 3.12.0)
274
+ rake (~> 13.0)
275
+ readline
276
+ redcarpet (~> 3.0)
277
+ simplecov (~> 0.9)
278
+ sinatra-activerecord
279
+ sqlite3
280
+ yard (~> 0.9)
281
+ yard-doctest (~> 0.1.13)
282
+
283
+ CHECKSUMS
284
+ activemodel (7.1.6)
285
+ activerecord (7.1.6)
286
+ activerecord-spanner-adapter (2.6.0)
287
+ activesupport (7.1.6)
288
+ addressable (2.9.0)
289
+ appraisal (2.5.0)
290
+ ast (2.4.3)
291
+ autotest-suffix (1.1.0)
292
+ base64 (0.3.0)
293
+ benchmark (0.5.0)
294
+ bigdecimal (3.3.1)
295
+ bundler (4.0.14) sha256=d09a0a965cf772266a7e49e83610be7c2f4e49e61134c42a56804bb383cc24b8
296
+ byebug (13.0.0)
297
+ coderay (1.1.3)
298
+ concurrent-ruby (1.3.8)
299
+ connection_pool (3.0.2)
300
+ docile (1.4.1)
301
+ docker-api (2.4.0)
302
+ drb (2.2.3)
303
+ erb (6.0.6)
304
+ excon (1.6.0)
305
+ faraday (2.14.3)
306
+ faraday-net_http (3.4.4)
307
+ faraday-retry (2.4.0)
308
+ gapic-common (1.3.0)
309
+ google-cloud-core (1.9.0)
310
+ google-cloud-env (2.4.0)
311
+ google-cloud-errors (1.7.0)
312
+ google-cloud-spanner (2.36.0)
313
+ google-cloud-spanner-admin-database-v1 (1.6.1)
314
+ google-cloud-spanner-admin-instance-v1 (1.6.0)
315
+ google-cloud-spanner-v1 (1.19.0)
316
+ google-logging-utils (0.2.0)
317
+ google-protobuf (4.35.1-arm64-darwin)
318
+ google-style (1.32.0)
319
+ googleapis-common-protos (1.10.0)
320
+ googleapis-common-protos-types (1.23.0)
321
+ googleauth (1.17.3)
322
+ grpc (1.83.0-arm64-darwin)
323
+ grpc-google-iam-v1 (1.10.0)
324
+ i18n (1.15.2)
325
+ io-console (0.8.2)
326
+ irb (1.18.0)
327
+ json (2.21.2)
328
+ jwt (3.2.0)
329
+ language_server-protocol (3.17.0.6)
330
+ lint_roller (1.1.0)
331
+ logger (1.7.0)
332
+ method_source (1.1.0)
333
+ minitest (5.27.0)
334
+ minitest-autotest (1.2.0)
335
+ minitest-focus (1.4.1)
336
+ minitest-rg (5.4.0)
337
+ minitest-server (1.0.10)
338
+ multi_json (1.21.1)
339
+ mustermann (3.1.1)
340
+ mutex_m (0.3.0)
341
+ net-http (0.9.1)
342
+ os (1.1.4)
343
+ ostruct (0.6.3)
344
+ parallel (1.28.0)
345
+ parser (3.3.12.0)
346
+ path_expander (2.0.1)
347
+ pp (0.6.4)
348
+ prettyprint (0.2.0)
349
+ prism (1.9.0)
350
+ pry (0.16.0)
351
+ pry-byebug (3.12.0)
352
+ pstore (0.2.1)
353
+ public_suffix (7.0.5)
354
+ racc (1.8.1)
355
+ rack (3.2.6)
356
+ rack-protection (4.2.1)
357
+ rack-session (2.1.2)
358
+ rainbow (3.1.1)
359
+ rake (13.4.2)
360
+ rbs (4.1.1)
361
+ rdoc (8.0.0)
362
+ readline (0.0.4)
363
+ redcarpet (3.6.1)
364
+ regexp_parser (2.12.0)
365
+ reline (0.6.3)
366
+ rubocop (1.88.2)
367
+ rubocop-ast (1.50.0)
368
+ ruby-progressbar (1.13.0)
369
+ securerandom (0.4.1)
370
+ signet (0.22.0)
371
+ simplecov (0.22.0)
372
+ simplecov-html (0.13.2)
373
+ simplecov_json_formatter (0.1.4)
374
+ sinatra (4.2.1)
375
+ sinatra-activerecord (2.0.28)
376
+ sqlite3 (2.9.5-arm64-darwin)
377
+ thor (1.5.0)
378
+ tilt (2.8.0)
379
+ timeout (0.6.1)
380
+ tsort (0.2.0)
381
+ tzinfo (2.0.6)
382
+ unicode-display_width (3.2.0)
383
+ unicode-emoji (4.2.0)
384
+ uri (1.1.1)
385
+ yard (0.9.45)
386
+ yard-doctest (0.1.17)
387
+
388
+ BUNDLED WITH
389
+ 4.0.14
@@ -0,0 +1,18 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 7.2.0"
6
+ gem "docker-api"
7
+ gem "irb"
8
+ gem "minitest", "~> 5.27.0"
9
+ gem "minitest-rg", "~> 5.4.0"
10
+ gem "mutex_m"
11
+ gem "ostruct"
12
+ gem "pry", "~> 0.16.0"
13
+ gem "pry-byebug", "~> 3.12.0"
14
+ gem "readline"
15
+ gem "sinatra-activerecord"
16
+ gem "sqlite3"
17
+
18
+ gemspec path: "../"