activerecord 7.1.3.4 → 7.2.2.1
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 +652 -2032
- 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 +15 -8
- data/lib/active_record/associations/belongs_to_association.rb +18 -11
- 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 +11 -5
- data/lib/active_record/associations/collection_proxy.rb +14 -1
- data/lib/active_record/associations/errors.rb +265 -0
- data/lib/active_record/associations/has_many_association.rb +3 -3
- data/lib/active_record/associations/has_many_through_association.rb +7 -1
- data/lib/active_record/associations/has_one_association.rb +2 -2
- data/lib/active_record/associations/join_dependency/join_association.rb +30 -27
- data/lib/active_record/associations/join_dependency.rb +10 -12
- 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 +62 -289
- data/lib/active_record/attribute_assignment.rb +0 -2
- data/lib/active_record/attribute_methods/composite_primary_key.rb +84 -0
- data/lib/active_record/attribute_methods/dirty.rb +2 -2
- 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 +11 -6
- data/lib/active_record/attribute_methods/write.rb +3 -3
- data/lib/active_record/attribute_methods.rb +89 -58
- data/lib/active_record/attributes.rb +61 -47
- data/lib/active_record/autosave_association.rb +17 -31
- data/lib/active_record/base.rb +2 -3
- data/lib/active_record/callbacks.rb +1 -1
- 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 +270 -58
- data/lib/active_record/connection_adapters/abstract/database_statements.rb +35 -18
- data/lib/active_record/connection_adapters/abstract/query_cache.rb +190 -75
- 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 +23 -10
- data/lib/active_record/connection_adapters/abstract/transaction.rb +125 -62
- data/lib/active_record/connection_adapters/abstract_adapter.rb +38 -59
- data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +73 -19
- 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 +8 -1
- data/lib/active_record/connection_adapters/mysql2/database_statements.rb +16 -15
- data/lib/active_record/connection_adapters/mysql2_adapter.rb +20 -32
- 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 +6 -0
- 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 +18 -12
- data/lib/active_record/connection_adapters/postgresql_adapter.rb +29 -24
- 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 +127 -77
- data/lib/active_record/connection_adapters/trilogy/database_statements.rb +15 -15
- data/lib/active_record/connection_adapters/trilogy_adapter.rb +32 -65
- data/lib/active_record/connection_adapters.rb +121 -0
- data/lib/active_record/connection_handling.rb +56 -41
- data/lib/active_record/core.rb +93 -40
- data/lib/active_record/counter_cache.rb +23 -10
- data/lib/active_record/database_configurations/connection_url_resolver.rb +8 -3
- data/lib/active_record/database_configurations/database_config.rb +19 -4
- data/lib/active_record/database_configurations/hash_config.rb +44 -36
- 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 +30 -6
- data/lib/active_record/destroy_association_async_job.rb +1 -1
- data/lib/active_record/dynamic_matchers.rb +2 -2
- data/lib/active_record/encryption/encryptable_record.rb +3 -3
- data/lib/active_record/encryption/encrypted_attribute_type.rb +26 -6
- data/lib/active_record/encryption/encryptor.rb +18 -3
- data/lib/active_record/encryption/key_provider.rb +1 -1
- 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/scheme.rb +8 -4
- data/lib/active_record/encryption.rb +2 -0
- data/lib/active_record/enum.rb +19 -2
- data/lib/active_record/errors.rb +46 -20
- data/lib/active_record/explain.rb +13 -24
- data/lib/active_record/fixtures.rb +37 -31
- data/lib/active_record/future_result.rb +17 -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 +8 -7
- data/lib/active_record/log_subscriber.rb +0 -21
- data/lib/active_record/marshalling.rb +4 -1
- data/lib/active_record/message_pack.rb +2 -2
- data/lib/active_record/migration/command_recorder.rb +2 -3
- data/lib/active_record/migration/compatibility.rb +11 -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 +38 -70
- data/lib/active_record/nested_attributes.rb +24 -5
- data/lib/active_record/normalization.rb +3 -7
- data/lib/active_record/persistence.rb +32 -354
- data/lib/active_record/query_cache.rb +19 -8
- data/lib/active_record/query_logs.rb +15 -0
- data/lib/active_record/query_logs_formatter.rb +1 -1
- data/lib/active_record/querying.rb +21 -9
- data/lib/active_record/railtie.rb +50 -68
- data/lib/active_record/railties/controller_runtime.rb +13 -4
- data/lib/active_record/railties/databases.rake +42 -45
- data/lib/active_record/reflection.rb +106 -38
- data/lib/active_record/relation/batches/batch_enumerator.rb +15 -2
- data/lib/active_record/relation/batches.rb +14 -8
- data/lib/active_record/relation/calculations.rb +96 -63
- 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/association_query_value.rb +9 -3
- data/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb +6 -1
- data/lib/active_record/relation/predicate_builder.rb +3 -3
- data/lib/active_record/relation/query_methods.rb +245 -65
- 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 +500 -66
- data/lib/active_record/result.rb +32 -45
- 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/scoping/named.rb +1 -0
- data/lib/active_record/signed_id.rb +20 -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 +98 -48
- 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 +87 -89
- data/lib/active_record/testing/query_assertions.rb +121 -0
- data/lib/active_record/timestamp.rb +5 -3
- data/lib/active_record/token_for.rb +22 -12
- data/lib/active_record/touch_later.rb +1 -1
- data/lib/active_record/transaction.rb +132 -0
- data/lib/active_record/transactions.rb +70 -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 +15 -10
- data/lib/active_record/validations.rb +4 -1
- data/lib/active_record.rb +150 -41
- 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 +8 -3
- 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/sqlite.rb +25 -0
- data/lib/arel/visitors/to_sql.rb +31 -17
- data/lib/arel.rb +7 -3
- data/lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt +4 -1
- metadata +21 -15
@@ -63,7 +63,7 @@ module Arel # :nodoc: all
|
|
63
63
|
|
64
64
|
def visit_Arel_Nodes_Lateral(o, collector)
|
65
65
|
collector << "LATERAL "
|
66
|
-
grouping_parentheses o, collector
|
66
|
+
grouping_parentheses o.expr, collector
|
67
67
|
end
|
68
68
|
|
69
69
|
def visit_Arel_Nodes_IsNotDistinctFrom(o, collector)
|
@@ -83,17 +83,6 @@ module Arel # :nodoc: all
|
|
83
83
|
|
84
84
|
def bind_block; BIND_BLOCK; end
|
85
85
|
|
86
|
-
# Used by Lateral visitor to enclose select queries in parentheses
|
87
|
-
def grouping_parentheses(o, collector)
|
88
|
-
if o.expr.is_a? Nodes::SelectStatement
|
89
|
-
collector << "("
|
90
|
-
visit o.expr, collector
|
91
|
-
collector << ")"
|
92
|
-
else
|
93
|
-
visit o.expr, collector
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
86
|
# Utilized by GroupingSet, Cube & RollUp visitors to
|
98
87
|
# handle grouping aggregation semantics
|
99
88
|
def grouping_array_or_grouping_element(o, collector)
|
data/lib/arel/visitors/sqlite.rb
CHANGED
@@ -33,6 +33,31 @@ module Arel # :nodoc: all
|
|
33
33
|
collector << " IS NOT "
|
34
34
|
visit o.right, collector
|
35
35
|
end
|
36
|
+
|
37
|
+
# Queries used in UNION should not be wrapped by parentheses,
|
38
|
+
# because it is an invalid syntax in SQLite.
|
39
|
+
def infix_value_with_paren(o, collector, value, suppress_parens = false)
|
40
|
+
collector << "( " unless suppress_parens
|
41
|
+
|
42
|
+
left = o.left.is_a?(Nodes::Grouping) ? o.left.expr : o.left
|
43
|
+
collector = if left.class == o.class
|
44
|
+
infix_value_with_paren(left, collector, value, true)
|
45
|
+
else
|
46
|
+
grouping_parentheses left, collector, false
|
47
|
+
end
|
48
|
+
|
49
|
+
collector << value
|
50
|
+
|
51
|
+
right = o.right.is_a?(Nodes::Grouping) ? o.right.expr : o.right
|
52
|
+
collector = if right.class == o.class
|
53
|
+
infix_value_with_paren(right, collector, value, true)
|
54
|
+
else
|
55
|
+
grouping_parentheses right, collector, false
|
56
|
+
end
|
57
|
+
|
58
|
+
collector << " )" unless suppress_parens
|
59
|
+
collector
|
60
|
+
end
|
36
61
|
end
|
37
62
|
end
|
38
63
|
end
|
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|
|
@@ -930,7 +927,8 @@ module Arel # :nodoc: all
|
|
930
927
|
stmt.limit = nil
|
931
928
|
stmt.offset = nil
|
932
929
|
stmt.orders = []
|
933
|
-
|
930
|
+
columns = Arel::Nodes::Grouping.new(o.key)
|
931
|
+
stmt.wheres = [Nodes::In.new(columns, [build_subselect(o.key, o)])]
|
934
932
|
stmt.relation = o.relation.left if has_join_sources?(o)
|
935
933
|
stmt.groups = o.groups unless o.groups.empty?
|
936
934
|
stmt.havings = o.havings unless o.havings.empty?
|
@@ -967,18 +965,34 @@ module Arel # :nodoc: all
|
|
967
965
|
collector = if o.left.class == o.class
|
968
966
|
infix_value_with_paren(o.left, collector, value, true)
|
969
967
|
else
|
970
|
-
|
968
|
+
grouping_parentheses o.left, collector, false
|
971
969
|
end
|
972
970
|
collector << value
|
973
971
|
collector = if o.right.class == o.class
|
974
972
|
infix_value_with_paren(o.right, collector, value, true)
|
975
973
|
else
|
976
|
-
|
974
|
+
grouping_parentheses o.right, collector, false
|
977
975
|
end
|
978
976
|
collector << " )" unless suppress_parens
|
979
977
|
collector
|
980
978
|
end
|
981
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
|
+
|
982
996
|
def aggregate(name, o, collector)
|
983
997
|
collector << "#{name}("
|
984
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:
|
@@ -12,7 +12,10 @@ class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Mi
|
|
12
12
|
t.<%= attribute.type %> :<%= attribute.name %><%= attribute.inject_options %>
|
13
13
|
<% end -%>
|
14
14
|
<% end -%>
|
15
|
-
<%
|
15
|
+
<% unless attributes.empty? -%>
|
16
|
+
|
17
|
+
<% end -%>
|
18
|
+
<% if options[:timestamps] -%>
|
16
19
|
t.timestamps
|
17
20
|
<% end -%>
|
18
21
|
end
|
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.2.1
|
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-12-10 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.2.1
|
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.2.1
|
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.2.1
|
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.2.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: timeout
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,6 +85,7 @@ files:
|
|
85
85
|
- lib/active_record/associations/collection_association.rb
|
86
86
|
- lib/active_record/associations/collection_proxy.rb
|
87
87
|
- lib/active_record/associations/disable_joins_association_scope.rb
|
88
|
+
- lib/active_record/associations/errors.rb
|
88
89
|
- lib/active_record/associations/foreign_association.rb
|
89
90
|
- lib/active_record/associations/has_many_association.rb
|
90
91
|
- lib/active_record/associations/has_many_through_association.rb
|
@@ -94,6 +95,7 @@ files:
|
|
94
95
|
- lib/active_record/associations/join_dependency/join_association.rb
|
95
96
|
- lib/active_record/associations/join_dependency/join_base.rb
|
96
97
|
- lib/active_record/associations/join_dependency/join_part.rb
|
98
|
+
- lib/active_record/associations/nested_error.rb
|
97
99
|
- lib/active_record/associations/preloader.rb
|
98
100
|
- lib/active_record/associations/preloader/association.rb
|
99
101
|
- lib/active_record/associations/preloader/batch.rb
|
@@ -105,6 +107,7 @@ files:
|
|
105
107
|
- lib/active_record/attribute_assignment.rb
|
106
108
|
- lib/active_record/attribute_methods.rb
|
107
109
|
- lib/active_record/attribute_methods/before_type_cast.rb
|
110
|
+
- lib/active_record/attribute_methods/composite_primary_key.rb
|
108
111
|
- lib/active_record/attribute_methods/dirty.rb
|
109
112
|
- lib/active_record/attribute_methods/primary_key.rb
|
110
113
|
- lib/active_record/attribute_methods/query.rb
|
@@ -240,6 +243,7 @@ files:
|
|
240
243
|
- lib/active_record/encryption/key_generator.rb
|
241
244
|
- lib/active_record/encryption/key_provider.rb
|
242
245
|
- lib/active_record/encryption/message.rb
|
246
|
+
- lib/active_record/encryption/message_pack_message_serializer.rb
|
243
247
|
- lib/active_record/encryption/message_serializer.rb
|
244
248
|
- lib/active_record/encryption/null_encryptor.rb
|
245
249
|
- lib/active_record/encryption/properties.rb
|
@@ -340,9 +344,11 @@ files:
|
|
340
344
|
- lib/active_record/tasks/sqlite_database_tasks.rb
|
341
345
|
- lib/active_record/test_databases.rb
|
342
346
|
- lib/active_record/test_fixtures.rb
|
347
|
+
- lib/active_record/testing/query_assertions.rb
|
343
348
|
- lib/active_record/timestamp.rb
|
344
349
|
- lib/active_record/token_for.rb
|
345
350
|
- lib/active_record/touch_later.rb
|
351
|
+
- lib/active_record/transaction.rb
|
346
352
|
- lib/active_record/transactions.rb
|
347
353
|
- lib/active_record/translation.rb
|
348
354
|
- lib/active_record/type.rb
|
@@ -386,7 +392,6 @@ files:
|
|
386
392
|
- lib/arel/insert_manager.rb
|
387
393
|
- lib/arel/math.rb
|
388
394
|
- lib/arel/nodes.rb
|
389
|
-
- lib/arel/nodes/and.rb
|
390
395
|
- lib/arel/nodes/ascending.rb
|
391
396
|
- lib/arel/nodes/binary.rb
|
392
397
|
- lib/arel/nodes/bind_param.rb
|
@@ -415,6 +420,7 @@ files:
|
|
415
420
|
- lib/arel/nodes/leading_join.rb
|
416
421
|
- lib/arel/nodes/matches.rb
|
417
422
|
- lib/arel/nodes/named_function.rb
|
423
|
+
- lib/arel/nodes/nary.rb
|
418
424
|
- lib/arel/nodes/node.rb
|
419
425
|
- lib/arel/nodes/node_expression.rb
|
420
426
|
- lib/arel/nodes/ordering.rb
|
@@ -470,12 +476,12 @@ licenses:
|
|
470
476
|
- MIT
|
471
477
|
metadata:
|
472
478
|
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.
|
479
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.2.2.1/activerecord/CHANGELOG.md
|
480
|
+
documentation_uri: https://api.rubyonrails.org/v7.2.2.1/
|
475
481
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
476
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.
|
482
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.2.2.1/activerecord
|
477
483
|
rubygems_mfa_required: 'true'
|
478
|
-
post_install_message:
|
484
|
+
post_install_message:
|
479
485
|
rdoc_options:
|
480
486
|
- "--main"
|
481
487
|
- README.rdoc
|
@@ -485,15 +491,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
485
491
|
requirements:
|
486
492
|
- - ">="
|
487
493
|
- !ruby/object:Gem::Version
|
488
|
-
version:
|
494
|
+
version: 3.1.0
|
489
495
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
490
496
|
requirements:
|
491
497
|
- - ">="
|
492
498
|
- !ruby/object:Gem::Version
|
493
499
|
version: '0'
|
494
500
|
requirements: []
|
495
|
-
rubygems_version: 3.
|
496
|
-
signing_key:
|
501
|
+
rubygems_version: 3.5.22
|
502
|
+
signing_key:
|
497
503
|
specification_version: 4
|
498
504
|
summary: Object-relational mapper framework (part of Rails).
|
499
505
|
test_files: []
|