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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +515 -2445
- data/README.rdoc +15 -15
- data/examples/performance.rb +2 -2
- data/lib/active_record/association_relation.rb +1 -1
- data/lib/active_record/associations/alias_tracker.rb +25 -19
- data/lib/active_record/associations/association.rb +9 -8
- data/lib/active_record/associations/belongs_to_association.rb +14 -7
- data/lib/active_record/associations/belongs_to_polymorphic_association.rb +3 -2
- data/lib/active_record/associations/builder/belongs_to.rb +1 -0
- data/lib/active_record/associations/builder/has_and_belongs_to_many.rb +2 -2
- data/lib/active_record/associations/builder/has_many.rb +3 -4
- data/lib/active_record/associations/builder/has_one.rb +3 -4
- data/lib/active_record/associations/collection_association.rb +6 -4
- data/lib/active_record/associations/collection_proxy.rb +14 -1
- data/lib/active_record/associations/has_many_association.rb +1 -1
- data/lib/active_record/associations/join_dependency/join_association.rb +29 -28
- data/lib/active_record/associations/join_dependency.rb +5 -5
- data/lib/active_record/associations/nested_error.rb +47 -0
- data/lib/active_record/associations/preloader/association.rb +2 -1
- data/lib/active_record/associations/preloader/branch.rb +7 -1
- data/lib/active_record/associations/preloader/through_association.rb +1 -3
- data/lib/active_record/associations/singular_association.rb +6 -0
- data/lib/active_record/associations/through_association.rb +1 -1
- data/lib/active_record/associations.rb +33 -16
- data/lib/active_record/attribute_assignment.rb +1 -11
- data/lib/active_record/attribute_methods/composite_primary_key.rb +84 -0
- data/lib/active_record/attribute_methods/dirty.rb +1 -1
- data/lib/active_record/attribute_methods/primary_key.rb +23 -55
- data/lib/active_record/attribute_methods/read.rb +4 -16
- data/lib/active_record/attribute_methods/serialization.rb +4 -24
- data/lib/active_record/attribute_methods/time_zone_conversion.rb +7 -10
- data/lib/active_record/attribute_methods/write.rb +3 -3
- data/lib/active_record/attribute_methods.rb +60 -71
- data/lib/active_record/attributes.rb +55 -42
- data/lib/active_record/autosave_association.rb +13 -32
- data/lib/active_record/base.rb +2 -3
- data/lib/active_record/connection_adapters/abstract/connection_handler.rb +24 -107
- data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +1 -0
- data/lib/active_record/connection_adapters/abstract/connection_pool.rb +248 -65
- data/lib/active_record/connection_adapters/abstract/database_statements.rb +34 -17
- data/lib/active_record/connection_adapters/abstract/query_cache.rb +159 -74
- data/lib/active_record/connection_adapters/abstract/quoting.rb +65 -91
- data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +1 -1
- data/lib/active_record/connection_adapters/abstract/schema_statements.rb +14 -5
- data/lib/active_record/connection_adapters/abstract/transaction.rb +60 -57
- data/lib/active_record/connection_adapters/abstract_adapter.rb +18 -46
- data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +32 -6
- data/lib/active_record/connection_adapters/mysql/database_statements.rb +9 -1
- data/lib/active_record/connection_adapters/mysql/quoting.rb +43 -48
- data/lib/active_record/connection_adapters/mysql/schema_statements.rb +7 -1
- data/lib/active_record/connection_adapters/mysql2/database_statements.rb +11 -5
- data/lib/active_record/connection_adapters/mysql2_adapter.rb +5 -23
- data/lib/active_record/connection_adapters/pool_config.rb +7 -6
- data/lib/active_record/connection_adapters/postgresql/database_statements.rb +27 -4
- data/lib/active_record/connection_adapters/postgresql/oid/cidr.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql/oid/interval.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql/oid/uuid.rb +14 -4
- data/lib/active_record/connection_adapters/postgresql/quoting.rb +58 -58
- data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +20 -0
- data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +15 -13
- data/lib/active_record/connection_adapters/postgresql_adapter.rb +26 -21
- data/lib/active_record/connection_adapters/schema_cache.rb +123 -128
- data/lib/active_record/connection_adapters/sqlite3/column.rb +14 -1
- data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +10 -6
- data/lib/active_record/connection_adapters/sqlite3/quoting.rb +44 -46
- data/lib/active_record/connection_adapters/sqlite3/schema_creation.rb +22 -0
- data/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +13 -0
- data/lib/active_record/connection_adapters/sqlite3/schema_dumper.rb +16 -0
- data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +25 -2
- data/lib/active_record/connection_adapters/sqlite3_adapter.rb +107 -75
- data/lib/active_record/connection_adapters/trilogy/database_statements.rb +12 -6
- data/lib/active_record/connection_adapters/trilogy_adapter.rb +19 -48
- data/lib/active_record/connection_adapters.rb +121 -0
- data/lib/active_record/connection_handling.rb +56 -41
- data/lib/active_record/core.rb +53 -37
- data/lib/active_record/counter_cache.rb +18 -9
- data/lib/active_record/database_configurations/connection_url_resolver.rb +8 -3
- data/lib/active_record/database_configurations/database_config.rb +15 -4
- data/lib/active_record/database_configurations/hash_config.rb +38 -34
- data/lib/active_record/database_configurations/url_config.rb +20 -1
- data/lib/active_record/database_configurations.rb +1 -1
- data/lib/active_record/delegated_type.rb +24 -0
- data/lib/active_record/dynamic_matchers.rb +2 -2
- data/lib/active_record/encryption/encryptable_record.rb +2 -2
- data/lib/active_record/encryption/encrypted_attribute_type.rb +22 -2
- data/lib/active_record/encryption/encryptor.rb +17 -2
- data/lib/active_record/encryption/message_pack_message_serializer.rb +76 -0
- data/lib/active_record/encryption/message_serializer.rb +4 -0
- data/lib/active_record/encryption/null_encryptor.rb +4 -0
- data/lib/active_record/encryption/read_only_null_encryptor.rb +4 -0
- data/lib/active_record/encryption.rb +0 -2
- data/lib/active_record/enum.rb +10 -1
- data/lib/active_record/errors.rb +16 -11
- data/lib/active_record/explain.rb +13 -24
- data/lib/active_record/fixtures.rb +37 -31
- data/lib/active_record/future_result.rb +8 -4
- data/lib/active_record/gem_version.rb +3 -3
- data/lib/active_record/inheritance.rb +4 -2
- data/lib/active_record/insert_all.rb +18 -15
- data/lib/active_record/integration.rb +4 -1
- data/lib/active_record/internal_metadata.rb +48 -34
- data/lib/active_record/locking/optimistic.rb +7 -6
- data/lib/active_record/log_subscriber.rb +0 -21
- data/lib/active_record/marshalling.rb +1 -4
- data/lib/active_record/message_pack.rb +1 -1
- data/lib/active_record/migration/command_recorder.rb +2 -3
- data/lib/active_record/migration/compatibility.rb +5 -3
- data/lib/active_record/migration/default_strategy.rb +4 -5
- data/lib/active_record/migration/pending_migration_connection.rb +2 -2
- data/lib/active_record/migration.rb +85 -76
- data/lib/active_record/model_schema.rb +28 -68
- data/lib/active_record/nested_attributes.rb +13 -16
- data/lib/active_record/normalization.rb +3 -7
- data/lib/active_record/persistence.rb +30 -352
- data/lib/active_record/query_cache.rb +18 -6
- data/lib/active_record/query_logs.rb +15 -0
- data/lib/active_record/querying.rb +21 -9
- data/lib/active_record/railtie.rb +50 -62
- data/lib/active_record/railties/controller_runtime.rb +13 -4
- data/lib/active_record/railties/databases.rake +41 -44
- data/lib/active_record/reflection.rb +90 -35
- data/lib/active_record/relation/batches/batch_enumerator.rb +15 -2
- data/lib/active_record/relation/batches.rb +3 -3
- data/lib/active_record/relation/calculations.rb +94 -61
- data/lib/active_record/relation/delegation.rb +8 -11
- data/lib/active_record/relation/finder_methods.rb +16 -2
- data/lib/active_record/relation/merger.rb +4 -6
- data/lib/active_record/relation/predicate_builder/array_handler.rb +2 -2
- data/lib/active_record/relation/predicate_builder.rb +3 -3
- data/lib/active_record/relation/query_methods.rb +196 -57
- data/lib/active_record/relation/record_fetch_warning.rb +3 -0
- data/lib/active_record/relation/spawn_methods.rb +2 -18
- data/lib/active_record/relation/where_clause.rb +7 -19
- data/lib/active_record/relation.rb +496 -72
- data/lib/active_record/result.rb +31 -44
- data/lib/active_record/runtime_registry.rb +39 -0
- data/lib/active_record/sanitization.rb +24 -19
- data/lib/active_record/schema.rb +8 -6
- data/lib/active_record/schema_dumper.rb +19 -9
- data/lib/active_record/schema_migration.rb +30 -14
- data/lib/active_record/signed_id.rb +11 -1
- data/lib/active_record/statement_cache.rb +7 -7
- data/lib/active_record/table_metadata.rb +1 -10
- data/lib/active_record/tasks/database_tasks.rb +76 -70
- data/lib/active_record/tasks/mysql_database_tasks.rb +1 -1
- data/lib/active_record/tasks/postgresql_database_tasks.rb +1 -1
- data/lib/active_record/tasks/sqlite_database_tasks.rb +2 -1
- data/lib/active_record/test_fixtures.rb +81 -91
- data/lib/active_record/testing/query_assertions.rb +121 -0
- data/lib/active_record/timestamp.rb +1 -1
- data/lib/active_record/token_for.rb +22 -12
- data/lib/active_record/touch_later.rb +1 -1
- data/lib/active_record/transaction.rb +68 -0
- data/lib/active_record/transactions.rb +43 -14
- data/lib/active_record/translation.rb +0 -2
- data/lib/active_record/type/serialized.rb +1 -3
- data/lib/active_record/type_caster/connection.rb +4 -4
- data/lib/active_record/validations/associated.rb +9 -3
- data/lib/active_record/validations/uniqueness.rb +14 -10
- data/lib/active_record/validations.rb +4 -1
- data/lib/active_record.rb +149 -40
- data/lib/arel/alias_predication.rb +1 -1
- data/lib/arel/collectors/bind.rb +2 -0
- data/lib/arel/collectors/composite.rb +7 -0
- data/lib/arel/collectors/sql_string.rb +1 -1
- data/lib/arel/collectors/substitute_binds.rb +1 -1
- data/lib/arel/nodes/binary.rb +0 -6
- data/lib/arel/nodes/bound_sql_literal.rb +9 -5
- data/lib/arel/nodes/{and.rb → nary.rb} +5 -2
- data/lib/arel/nodes/node.rb +4 -3
- data/lib/arel/nodes/sql_literal.rb +7 -0
- data/lib/arel/nodes.rb +2 -2
- data/lib/arel/predications.rb +1 -1
- data/lib/arel/select_manager.rb +1 -1
- data/lib/arel/tree_manager.rb +3 -2
- data/lib/arel/update_manager.rb +2 -1
- data/lib/arel/visitors/dot.rb +1 -0
- data/lib/arel/visitors/mysql.rb +9 -4
- data/lib/arel/visitors/postgresql.rb +1 -12
- data/lib/arel/visitors/to_sql.rb +29 -16
- data/lib/arel.rb +7 -3
- metadata +20 -15
data/lib/arel/visitors/to_sql.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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.
|
474
|
-
documentation_uri: https://api.rubyonrails.org/v7.
|
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.
|
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:
|
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.
|
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: []
|