activerecord 7.1.5.1 → 7.2.0.beta1

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 (183) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +515 -2445
  3. data/README.rdoc +15 -15
  4. data/examples/performance.rb +2 -2
  5. data/lib/active_record/association_relation.rb +1 -1
  6. data/lib/active_record/associations/alias_tracker.rb +25 -19
  7. data/lib/active_record/associations/association.rb +9 -8
  8. data/lib/active_record/associations/belongs_to_association.rb +14 -7
  9. data/lib/active_record/associations/belongs_to_polymorphic_association.rb +3 -2
  10. data/lib/active_record/associations/builder/belongs_to.rb +1 -0
  11. data/lib/active_record/associations/builder/has_and_belongs_to_many.rb +2 -2
  12. data/lib/active_record/associations/builder/has_many.rb +3 -4
  13. data/lib/active_record/associations/builder/has_one.rb +3 -4
  14. data/lib/active_record/associations/collection_association.rb +6 -4
  15. data/lib/active_record/associations/collection_proxy.rb +14 -1
  16. data/lib/active_record/associations/has_many_association.rb +1 -1
  17. data/lib/active_record/associations/join_dependency/join_association.rb +29 -28
  18. data/lib/active_record/associations/join_dependency.rb +5 -5
  19. data/lib/active_record/associations/nested_error.rb +47 -0
  20. data/lib/active_record/associations/preloader/association.rb +2 -1
  21. data/lib/active_record/associations/preloader/branch.rb +7 -1
  22. data/lib/active_record/associations/preloader/through_association.rb +1 -3
  23. data/lib/active_record/associations/singular_association.rb +6 -0
  24. data/lib/active_record/associations/through_association.rb +1 -1
  25. data/lib/active_record/associations.rb +33 -16
  26. data/lib/active_record/attribute_assignment.rb +1 -11
  27. data/lib/active_record/attribute_methods/composite_primary_key.rb +84 -0
  28. data/lib/active_record/attribute_methods/dirty.rb +1 -1
  29. data/lib/active_record/attribute_methods/primary_key.rb +23 -55
  30. data/lib/active_record/attribute_methods/read.rb +4 -16
  31. data/lib/active_record/attribute_methods/serialization.rb +4 -24
  32. data/lib/active_record/attribute_methods/time_zone_conversion.rb +7 -10
  33. data/lib/active_record/attribute_methods/write.rb +3 -3
  34. data/lib/active_record/attribute_methods.rb +60 -71
  35. data/lib/active_record/attributes.rb +55 -42
  36. data/lib/active_record/autosave_association.rb +13 -32
  37. data/lib/active_record/base.rb +2 -3
  38. data/lib/active_record/connection_adapters/abstract/connection_handler.rb +24 -107
  39. data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +1 -0
  40. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +248 -65
  41. data/lib/active_record/connection_adapters/abstract/database_statements.rb +34 -17
  42. data/lib/active_record/connection_adapters/abstract/query_cache.rb +159 -74
  43. data/lib/active_record/connection_adapters/abstract/quoting.rb +65 -91
  44. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +1 -1
  45. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +14 -5
  46. data/lib/active_record/connection_adapters/abstract/transaction.rb +60 -57
  47. data/lib/active_record/connection_adapters/abstract_adapter.rb +18 -46
  48. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +32 -6
  49. data/lib/active_record/connection_adapters/mysql/database_statements.rb +9 -1
  50. data/lib/active_record/connection_adapters/mysql/quoting.rb +43 -48
  51. data/lib/active_record/connection_adapters/mysql/schema_statements.rb +7 -1
  52. data/lib/active_record/connection_adapters/mysql2/database_statements.rb +11 -5
  53. data/lib/active_record/connection_adapters/mysql2_adapter.rb +5 -23
  54. data/lib/active_record/connection_adapters/pool_config.rb +7 -6
  55. data/lib/active_record/connection_adapters/postgresql/database_statements.rb +27 -4
  56. data/lib/active_record/connection_adapters/postgresql/oid/cidr.rb +1 -1
  57. data/lib/active_record/connection_adapters/postgresql/oid/interval.rb +1 -1
  58. data/lib/active_record/connection_adapters/postgresql/oid/uuid.rb +14 -4
  59. data/lib/active_record/connection_adapters/postgresql/quoting.rb +58 -58
  60. data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +20 -0
  61. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +15 -13
  62. data/lib/active_record/connection_adapters/postgresql_adapter.rb +26 -21
  63. data/lib/active_record/connection_adapters/schema_cache.rb +123 -128
  64. data/lib/active_record/connection_adapters/sqlite3/column.rb +14 -1
  65. data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +10 -6
  66. data/lib/active_record/connection_adapters/sqlite3/quoting.rb +44 -46
  67. data/lib/active_record/connection_adapters/sqlite3/schema_creation.rb +22 -0
  68. data/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +13 -0
  69. data/lib/active_record/connection_adapters/sqlite3/schema_dumper.rb +16 -0
  70. data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +25 -2
  71. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +107 -75
  72. data/lib/active_record/connection_adapters/trilogy/database_statements.rb +12 -6
  73. data/lib/active_record/connection_adapters/trilogy_adapter.rb +19 -48
  74. data/lib/active_record/connection_adapters.rb +121 -0
  75. data/lib/active_record/connection_handling.rb +56 -41
  76. data/lib/active_record/core.rb +53 -37
  77. data/lib/active_record/counter_cache.rb +18 -9
  78. data/lib/active_record/database_configurations/connection_url_resolver.rb +8 -3
  79. data/lib/active_record/database_configurations/database_config.rb +15 -4
  80. data/lib/active_record/database_configurations/hash_config.rb +38 -34
  81. data/lib/active_record/database_configurations/url_config.rb +20 -1
  82. data/lib/active_record/database_configurations.rb +1 -1
  83. data/lib/active_record/delegated_type.rb +24 -0
  84. data/lib/active_record/dynamic_matchers.rb +2 -2
  85. data/lib/active_record/encryption/encryptable_record.rb +2 -2
  86. data/lib/active_record/encryption/encrypted_attribute_type.rb +22 -2
  87. data/lib/active_record/encryption/encryptor.rb +17 -2
  88. data/lib/active_record/encryption/message_pack_message_serializer.rb +76 -0
  89. data/lib/active_record/encryption/message_serializer.rb +4 -0
  90. data/lib/active_record/encryption/null_encryptor.rb +4 -0
  91. data/lib/active_record/encryption/read_only_null_encryptor.rb +4 -0
  92. data/lib/active_record/encryption.rb +0 -2
  93. data/lib/active_record/enum.rb +10 -1
  94. data/lib/active_record/errors.rb +16 -11
  95. data/lib/active_record/explain.rb +13 -24
  96. data/lib/active_record/fixtures.rb +37 -31
  97. data/lib/active_record/future_result.rb +8 -4
  98. data/lib/active_record/gem_version.rb +3 -3
  99. data/lib/active_record/inheritance.rb +4 -2
  100. data/lib/active_record/insert_all.rb +18 -15
  101. data/lib/active_record/integration.rb +4 -1
  102. data/lib/active_record/internal_metadata.rb +48 -34
  103. data/lib/active_record/locking/optimistic.rb +7 -6
  104. data/lib/active_record/log_subscriber.rb +0 -21
  105. data/lib/active_record/marshalling.rb +1 -4
  106. data/lib/active_record/message_pack.rb +1 -1
  107. data/lib/active_record/migration/command_recorder.rb +2 -3
  108. data/lib/active_record/migration/compatibility.rb +5 -3
  109. data/lib/active_record/migration/default_strategy.rb +4 -5
  110. data/lib/active_record/migration/pending_migration_connection.rb +2 -2
  111. data/lib/active_record/migration.rb +85 -76
  112. data/lib/active_record/model_schema.rb +28 -68
  113. data/lib/active_record/nested_attributes.rb +13 -16
  114. data/lib/active_record/normalization.rb +3 -7
  115. data/lib/active_record/persistence.rb +30 -352
  116. data/lib/active_record/query_cache.rb +18 -6
  117. data/lib/active_record/query_logs.rb +15 -0
  118. data/lib/active_record/querying.rb +21 -9
  119. data/lib/active_record/railtie.rb +50 -62
  120. data/lib/active_record/railties/controller_runtime.rb +13 -4
  121. data/lib/active_record/railties/databases.rake +41 -44
  122. data/lib/active_record/reflection.rb +90 -35
  123. data/lib/active_record/relation/batches/batch_enumerator.rb +15 -2
  124. data/lib/active_record/relation/batches.rb +3 -3
  125. data/lib/active_record/relation/calculations.rb +94 -61
  126. data/lib/active_record/relation/delegation.rb +8 -11
  127. data/lib/active_record/relation/finder_methods.rb +16 -2
  128. data/lib/active_record/relation/merger.rb +4 -6
  129. data/lib/active_record/relation/predicate_builder/array_handler.rb +2 -2
  130. data/lib/active_record/relation/predicate_builder.rb +3 -3
  131. data/lib/active_record/relation/query_methods.rb +196 -57
  132. data/lib/active_record/relation/record_fetch_warning.rb +3 -0
  133. data/lib/active_record/relation/spawn_methods.rb +2 -18
  134. data/lib/active_record/relation/where_clause.rb +7 -19
  135. data/lib/active_record/relation.rb +496 -72
  136. data/lib/active_record/result.rb +31 -44
  137. data/lib/active_record/runtime_registry.rb +39 -0
  138. data/lib/active_record/sanitization.rb +24 -19
  139. data/lib/active_record/schema.rb +8 -6
  140. data/lib/active_record/schema_dumper.rb +19 -9
  141. data/lib/active_record/schema_migration.rb +30 -14
  142. data/lib/active_record/signed_id.rb +11 -1
  143. data/lib/active_record/statement_cache.rb +7 -7
  144. data/lib/active_record/table_metadata.rb +1 -10
  145. data/lib/active_record/tasks/database_tasks.rb +76 -70
  146. data/lib/active_record/tasks/mysql_database_tasks.rb +1 -1
  147. data/lib/active_record/tasks/postgresql_database_tasks.rb +1 -1
  148. data/lib/active_record/tasks/sqlite_database_tasks.rb +2 -1
  149. data/lib/active_record/test_fixtures.rb +81 -91
  150. data/lib/active_record/testing/query_assertions.rb +121 -0
  151. data/lib/active_record/timestamp.rb +1 -1
  152. data/lib/active_record/token_for.rb +22 -12
  153. data/lib/active_record/touch_later.rb +1 -1
  154. data/lib/active_record/transaction.rb +68 -0
  155. data/lib/active_record/transactions.rb +43 -14
  156. data/lib/active_record/translation.rb +0 -2
  157. data/lib/active_record/type/serialized.rb +1 -3
  158. data/lib/active_record/type_caster/connection.rb +4 -4
  159. data/lib/active_record/validations/associated.rb +9 -3
  160. data/lib/active_record/validations/uniqueness.rb +14 -10
  161. data/lib/active_record/validations.rb +4 -1
  162. data/lib/active_record.rb +149 -40
  163. data/lib/arel/alias_predication.rb +1 -1
  164. data/lib/arel/collectors/bind.rb +2 -0
  165. data/lib/arel/collectors/composite.rb +7 -0
  166. data/lib/arel/collectors/sql_string.rb +1 -1
  167. data/lib/arel/collectors/substitute_binds.rb +1 -1
  168. data/lib/arel/nodes/binary.rb +0 -6
  169. data/lib/arel/nodes/bound_sql_literal.rb +9 -5
  170. data/lib/arel/nodes/{and.rb → nary.rb} +5 -2
  171. data/lib/arel/nodes/node.rb +4 -3
  172. data/lib/arel/nodes/sql_literal.rb +7 -0
  173. data/lib/arel/nodes.rb +2 -2
  174. data/lib/arel/predications.rb +1 -1
  175. data/lib/arel/select_manager.rb +1 -1
  176. data/lib/arel/tree_manager.rb +3 -2
  177. data/lib/arel/update_manager.rb +2 -1
  178. data/lib/arel/visitors/dot.rb +1 -0
  179. data/lib/arel/visitors/mysql.rb +9 -4
  180. data/lib/arel/visitors/postgresql.rb +1 -12
  181. data/lib/arel/visitors/to_sql.rb +29 -16
  182. data/lib/arel.rb +7 -3
  183. metadata +20 -15
@@ -20,6 +20,7 @@ module Arel # :nodoc: all
20
20
 
21
21
  private
22
22
  def visit_Arel_Nodes_DeleteStatement(o, collector)
23
+ collector.retryable = false
23
24
  o = prepare_delete_statement(o)
24
25
 
25
26
  if has_join_sources?(o)
@@ -37,6 +38,7 @@ module Arel # :nodoc: all
37
38
  end
38
39
 
39
40
  def visit_Arel_Nodes_UpdateStatement(o, collector)
41
+ collector.retryable = false
40
42
  o = prepare_update_statement(o)
41
43
 
42
44
  collector << "UPDATE "
@@ -49,6 +51,7 @@ module Arel # :nodoc: all
49
51
  end
50
52
 
51
53
  def visit_Arel_Nodes_InsertStatement(o, collector)
54
+ collector.retryable = false
52
55
  collector << "INSERT INTO "
53
56
  collector = visit o.relation, collector
54
57
 
@@ -381,6 +384,7 @@ module Arel # :nodoc: all
381
384
  end
382
385
 
383
386
  def visit_Arel_Nodes_NamedFunction(o, collector)
387
+ collector.retryable = false
384
388
  collector << o.name
385
389
  collector << "("
386
390
  collector << "DISTINCT " if o.distinct
@@ -582,10 +586,11 @@ module Arel # :nodoc: all
582
586
  end
583
587
 
584
588
  def visit_Arel_Nodes_In(o, collector)
585
- collector.preparable = false
586
589
  attr, values = o.left, o.right
587
590
 
588
591
  if Array === values
592
+ collector.preparable = false
593
+
589
594
  unless values.empty?
590
595
  values.delete_if { |value| unboundable?(value) }
591
596
  end
@@ -598,10 +603,11 @@ module Arel # :nodoc: all
598
603
  end
599
604
 
600
605
  def visit_Arel_Nodes_NotIn(o, collector)
601
- collector.preparable = false
602
606
  attr, values = o.left, o.right
603
607
 
604
608
  if Array === values
609
+ collector.preparable = false
610
+
605
611
  unless values.empty?
606
612
  values.delete_if { |value| unboundable?(value) }
607
613
  end
@@ -618,18 +624,7 @@ module Arel # :nodoc: all
618
624
  end
619
625
 
620
626
  def visit_Arel_Nodes_Or(o, collector)
621
- stack = [o.right, o.left]
622
-
623
- while o = stack.pop
624
- if o.is_a?(Arel::Nodes::Or)
625
- stack.push o.right, o.left
626
- else
627
- visit o, collector
628
- collector << " OR " unless stack.empty?
629
- end
630
- end
631
-
632
- collector
627
+ inject_join o.children, collector, " OR "
633
628
  end
634
629
 
635
630
  def visit_Arel_Nodes_Assignment(o, collector)
@@ -768,10 +763,12 @@ module Arel # :nodoc: all
768
763
 
769
764
  def visit_Arel_Nodes_SqlLiteral(o, collector)
770
765
  collector.preparable = false
766
+ collector.retryable = o.retryable
771
767
  collector << o.to_s
772
768
  end
773
769
 
774
770
  def visit_Arel_Nodes_BoundSqlLiteral(o, collector)
771
+ collector.retryable = false
775
772
  bind_index = 0
776
773
 
777
774
  new_bind = lambda do |value|
@@ -968,18 +965,34 @@ module Arel # :nodoc: all
968
965
  collector = if o.left.class == o.class
969
966
  infix_value_with_paren(o.left, collector, value, true)
970
967
  else
971
- visit o.left, collector
968
+ grouping_parentheses o.left, collector, false
972
969
  end
973
970
  collector << value
974
971
  collector = if o.right.class == o.class
975
972
  infix_value_with_paren(o.right, collector, value, true)
976
973
  else
977
- visit o.right, collector
974
+ grouping_parentheses o.right, collector, false
978
975
  end
979
976
  collector << " )" unless suppress_parens
980
977
  collector
981
978
  end
982
979
 
980
+ # Used by some visitors to enclose select queries in parentheses
981
+ def grouping_parentheses(o, collector, always_wrap_selects = true)
982
+ if o.is_a?(Nodes::SelectStatement) && (always_wrap_selects || require_parentheses?(o))
983
+ collector << "("
984
+ visit o, collector
985
+ collector << ")"
986
+ collector
987
+ else
988
+ visit o, collector
989
+ end
990
+ end
991
+
992
+ def require_parentheses?(o)
993
+ !o.orders.empty? || o.limit || o.offset
994
+ end
995
+
983
996
  def aggregate(name, o, collector)
984
997
  collector << "#{name}("
985
998
  if o.distinct
data/lib/arel.rb CHANGED
@@ -45,16 +45,20 @@ module Arel
45
45
  # that this behavior only applies when bind value parameters are
46
46
  # supplied in the call; without them, the placeholder tokens have no
47
47
  # special meaning, and will be passed through to the query as-is.
48
- def self.sql(sql_string, *positional_binds, **named_binds)
48
+ #
49
+ # The +:retryable+ option can be used to mark the SQL as safe to retry.
50
+ # Use this option only if the SQL is idempotent, as it could be executed
51
+ # more than once.
52
+ def self.sql(sql_string, *positional_binds, retryable: false, **named_binds)
49
53
  if positional_binds.empty? && named_binds.empty?
50
- Arel::Nodes::SqlLiteral.new sql_string
54
+ Arel::Nodes::SqlLiteral.new(sql_string, retryable: retryable)
51
55
  else
52
56
  Arel::Nodes::BoundSqlLiteral.new sql_string, positional_binds, named_binds
53
57
  end
54
58
  end
55
59
 
56
60
  def self.star # :nodoc:
57
- sql "*"
61
+ sql("*", retryable: true)
58
62
  end
59
63
 
60
64
  def self.arel_node?(value) # :nodoc:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.5.1
4
+ version: 7.2.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
11
+ date: 2024-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.1.5.1
19
+ version: 7.2.0.beta1
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: 7.1.5.1
26
+ version: 7.2.0.beta1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 7.1.5.1
33
+ version: 7.2.0.beta1
34
34
  type: :runtime
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: 7.1.5.1
40
+ version: 7.2.0.beta1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: timeout
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,7 @@ files:
94
94
  - lib/active_record/associations/join_dependency/join_association.rb
95
95
  - lib/active_record/associations/join_dependency/join_base.rb
96
96
  - lib/active_record/associations/join_dependency/join_part.rb
97
+ - lib/active_record/associations/nested_error.rb
97
98
  - lib/active_record/associations/preloader.rb
98
99
  - lib/active_record/associations/preloader/association.rb
99
100
  - lib/active_record/associations/preloader/batch.rb
@@ -105,6 +106,7 @@ files:
105
106
  - lib/active_record/attribute_assignment.rb
106
107
  - lib/active_record/attribute_methods.rb
107
108
  - lib/active_record/attribute_methods/before_type_cast.rb
109
+ - lib/active_record/attribute_methods/composite_primary_key.rb
108
110
  - lib/active_record/attribute_methods/dirty.rb
109
111
  - lib/active_record/attribute_methods/primary_key.rb
110
112
  - lib/active_record/attribute_methods/query.rb
@@ -240,6 +242,7 @@ files:
240
242
  - lib/active_record/encryption/key_generator.rb
241
243
  - lib/active_record/encryption/key_provider.rb
242
244
  - lib/active_record/encryption/message.rb
245
+ - lib/active_record/encryption/message_pack_message_serializer.rb
243
246
  - lib/active_record/encryption/message_serializer.rb
244
247
  - lib/active_record/encryption/null_encryptor.rb
245
248
  - lib/active_record/encryption/properties.rb
@@ -340,9 +343,11 @@ files:
340
343
  - lib/active_record/tasks/sqlite_database_tasks.rb
341
344
  - lib/active_record/test_databases.rb
342
345
  - lib/active_record/test_fixtures.rb
346
+ - lib/active_record/testing/query_assertions.rb
343
347
  - lib/active_record/timestamp.rb
344
348
  - lib/active_record/token_for.rb
345
349
  - lib/active_record/touch_later.rb
350
+ - lib/active_record/transaction.rb
346
351
  - lib/active_record/transactions.rb
347
352
  - lib/active_record/translation.rb
348
353
  - lib/active_record/type.rb
@@ -386,7 +391,6 @@ files:
386
391
  - lib/arel/insert_manager.rb
387
392
  - lib/arel/math.rb
388
393
  - lib/arel/nodes.rb
389
- - lib/arel/nodes/and.rb
390
394
  - lib/arel/nodes/ascending.rb
391
395
  - lib/arel/nodes/binary.rb
392
396
  - lib/arel/nodes/bind_param.rb
@@ -415,6 +419,7 @@ files:
415
419
  - lib/arel/nodes/leading_join.rb
416
420
  - lib/arel/nodes/matches.rb
417
421
  - lib/arel/nodes/named_function.rb
422
+ - lib/arel/nodes/nary.rb
418
423
  - lib/arel/nodes/node.rb
419
424
  - lib/arel/nodes/node_expression.rb
420
425
  - lib/arel/nodes/ordering.rb
@@ -470,12 +475,12 @@ licenses:
470
475
  - MIT
471
476
  metadata:
472
477
  bug_tracker_uri: https://github.com/rails/rails/issues
473
- changelog_uri: https://github.com/rails/rails/blob/v7.1.5.1/activerecord/CHANGELOG.md
474
- documentation_uri: https://api.rubyonrails.org/v7.1.5.1/
478
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.0.beta1/activerecord/CHANGELOG.md
479
+ documentation_uri: https://api.rubyonrails.org/v7.2.0.beta1/
475
480
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
476
- source_code_uri: https://github.com/rails/rails/tree/v7.1.5.1/activerecord
481
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.0.beta1/activerecord
477
482
  rubygems_mfa_required: 'true'
478
- post_install_message:
483
+ post_install_message:
479
484
  rdoc_options:
480
485
  - "--main"
481
486
  - README.rdoc
@@ -485,15 +490,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
485
490
  requirements:
486
491
  - - ">="
487
492
  - !ruby/object:Gem::Version
488
- version: 2.7.0
493
+ version: 3.1.0
489
494
  required_rubygems_version: !ruby/object:Gem::Requirement
490
495
  requirements:
491
496
  - - ">="
492
497
  - !ruby/object:Gem::Version
493
498
  version: '0'
494
499
  requirements: []
495
- rubygems_version: 3.5.22
496
- signing_key:
500
+ rubygems_version: 3.5.10
501
+ signing_key:
497
502
  specification_version: 4
498
503
  summary: Object-relational mapper framework (part of Rails).
499
504
  test_files: []