activerecord 6.1.3.2 → 7.0.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activerecord might be problematic. Click here for more details.

Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +734 -1058
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +1 -1
  5. data/lib/active_record/aggregations.rb +1 -1
  6. data/lib/active_record/association_relation.rb +0 -10
  7. data/lib/active_record/associations/association.rb +35 -7
  8. data/lib/active_record/associations/association_scope.rb +1 -3
  9. data/lib/active_record/associations/belongs_to_association.rb +16 -6
  10. data/lib/active_record/associations/belongs_to_polymorphic_association.rb +10 -2
  11. data/lib/active_record/associations/builder/association.rb +8 -2
  12. data/lib/active_record/associations/builder/belongs_to.rb +19 -6
  13. data/lib/active_record/associations/builder/collection_association.rb +1 -1
  14. data/lib/active_record/associations/builder/has_many.rb +3 -2
  15. data/lib/active_record/associations/builder/has_one.rb +2 -1
  16. data/lib/active_record/associations/builder/singular_association.rb +2 -2
  17. data/lib/active_record/associations/collection_association.rb +24 -25
  18. data/lib/active_record/associations/collection_proxy.rb +8 -3
  19. data/lib/active_record/associations/disable_joins_association_scope.rb +59 -0
  20. data/lib/active_record/associations/has_many_association.rb +1 -1
  21. data/lib/active_record/associations/has_many_through_association.rb +2 -1
  22. data/lib/active_record/associations/has_one_association.rb +10 -7
  23. data/lib/active_record/associations/has_one_through_association.rb +1 -1
  24. data/lib/active_record/associations/preloader/association.rb +161 -49
  25. data/lib/active_record/associations/preloader/batch.rb +51 -0
  26. data/lib/active_record/associations/preloader/branch.rb +147 -0
  27. data/lib/active_record/associations/preloader/through_association.rb +37 -11
  28. data/lib/active_record/associations/preloader.rb +46 -110
  29. data/lib/active_record/associations/singular_association.rb +8 -2
  30. data/lib/active_record/associations/through_association.rb +1 -1
  31. data/lib/active_record/associations.rb +76 -81
  32. data/lib/active_record/asynchronous_queries_tracker.rb +57 -0
  33. data/lib/active_record/attribute_assignment.rb +1 -1
  34. data/lib/active_record/attribute_methods/before_type_cast.rb +7 -2
  35. data/lib/active_record/attribute_methods/dirty.rb +41 -16
  36. data/lib/active_record/attribute_methods/primary_key.rb +2 -2
  37. data/lib/active_record/attribute_methods/query.rb +2 -2
  38. data/lib/active_record/attribute_methods/read.rb +7 -5
  39. data/lib/active_record/attribute_methods/serialization.rb +66 -12
  40. data/lib/active_record/attribute_methods/time_zone_conversion.rb +4 -3
  41. data/lib/active_record/attribute_methods/write.rb +7 -10
  42. data/lib/active_record/attribute_methods.rb +6 -9
  43. data/lib/active_record/attributes.rb +24 -35
  44. data/lib/active_record/autosave_association.rb +3 -18
  45. data/lib/active_record/base.rb +19 -1
  46. data/lib/active_record/callbacks.rb +2 -2
  47. data/lib/active_record/coders/yaml_column.rb +11 -1
  48. data/lib/active_record/connection_adapters/abstract/connection_handler.rb +312 -0
  49. data/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb +209 -0
  50. data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +76 -0
  51. data/lib/active_record/connection_adapters/abstract/connection_pool.rb +31 -558
  52. data/lib/active_record/connection_adapters/abstract/database_statements.rb +45 -21
  53. data/lib/active_record/connection_adapters/abstract/query_cache.rb +24 -12
  54. data/lib/active_record/connection_adapters/abstract/quoting.rb +14 -7
  55. data/lib/active_record/connection_adapters/abstract/schema_creation.rb +5 -18
  56. data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +30 -9
  57. data/lib/active_record/connection_adapters/abstract/schema_statements.rb +60 -16
  58. data/lib/active_record/connection_adapters/abstract/transaction.rb +17 -6
  59. data/lib/active_record/connection_adapters/abstract_adapter.rb +115 -69
  60. data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +96 -81
  61. data/lib/active_record/connection_adapters/legacy_pool_manager.rb +6 -2
  62. data/lib/active_record/connection_adapters/mysql/database_statements.rb +33 -21
  63. data/lib/active_record/connection_adapters/mysql/quoting.rb +16 -1
  64. data/lib/active_record/connection_adapters/mysql/schema_statements.rb +3 -0
  65. data/lib/active_record/connection_adapters/mysql2_adapter.rb +12 -6
  66. data/lib/active_record/connection_adapters/pool_config.rb +1 -3
  67. data/lib/active_record/connection_adapters/pool_manager.rb +5 -1
  68. data/lib/active_record/connection_adapters/postgresql/database_statements.rb +19 -12
  69. data/lib/active_record/connection_adapters/postgresql/oid/date.rb +8 -0
  70. data/lib/active_record/connection_adapters/postgresql/oid/date_time.rb +5 -0
  71. data/lib/active_record/connection_adapters/postgresql/oid/hstore.rb +53 -14
  72. data/lib/active_record/connection_adapters/postgresql/oid/range.rb +1 -1
  73. data/lib/active_record/connection_adapters/postgresql/oid/timestamp.rb +15 -0
  74. data/lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb +28 -0
  75. data/lib/active_record/connection_adapters/postgresql/oid/type_map_initializer.rb +18 -6
  76. data/lib/active_record/connection_adapters/postgresql/oid.rb +2 -0
  77. data/lib/active_record/connection_adapters/postgresql/quoting.rb +6 -6
  78. data/lib/active_record/connection_adapters/postgresql/referential_integrity.rb +32 -0
  79. data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +5 -1
  80. data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +12 -12
  81. data/lib/active_record/connection_adapters/postgresql_adapter.rb +157 -100
  82. data/lib/active_record/connection_adapters/schema_cache.rb +35 -4
  83. data/lib/active_record/connection_adapters/sql_type_metadata.rb +0 -2
  84. data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +23 -17
  85. data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +4 -2
  86. data/lib/active_record/connection_adapters/sqlite3_adapter.rb +61 -30
  87. data/lib/active_record/connection_adapters.rb +8 -5
  88. data/lib/active_record/connection_handling.rb +20 -38
  89. data/lib/active_record/core.rb +129 -117
  90. data/lib/active_record/database_configurations/database_config.rb +12 -0
  91. data/lib/active_record/database_configurations/hash_config.rb +27 -1
  92. data/lib/active_record/database_configurations/url_config.rb +2 -2
  93. data/lib/active_record/database_configurations.rb +18 -9
  94. data/lib/active_record/delegated_type.rb +33 -11
  95. data/lib/active_record/destroy_association_async_job.rb +1 -1
  96. data/lib/active_record/disable_joins_association_relation.rb +39 -0
  97. data/lib/active_record/dynamic_matchers.rb +1 -1
  98. data/lib/active_record/encryption/cipher/aes256_gcm.rb +98 -0
  99. data/lib/active_record/encryption/cipher.rb +53 -0
  100. data/lib/active_record/encryption/config.rb +44 -0
  101. data/lib/active_record/encryption/configurable.rb +61 -0
  102. data/lib/active_record/encryption/context.rb +35 -0
  103. data/lib/active_record/encryption/contexts.rb +72 -0
  104. data/lib/active_record/encryption/derived_secret_key_provider.rb +12 -0
  105. data/lib/active_record/encryption/deterministic_key_provider.rb +14 -0
  106. data/lib/active_record/encryption/encryptable_record.rb +208 -0
  107. data/lib/active_record/encryption/encrypted_attribute_type.rb +140 -0
  108. data/lib/active_record/encryption/encrypted_fixtures.rb +38 -0
  109. data/lib/active_record/encryption/encrypting_only_encryptor.rb +12 -0
  110. data/lib/active_record/encryption/encryptor.rb +155 -0
  111. data/lib/active_record/encryption/envelope_encryption_key_provider.rb +55 -0
  112. data/lib/active_record/encryption/errors.rb +15 -0
  113. data/lib/active_record/encryption/extended_deterministic_queries.rb +160 -0
  114. data/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb +29 -0
  115. data/lib/active_record/encryption/key.rb +28 -0
  116. data/lib/active_record/encryption/key_generator.rb +42 -0
  117. data/lib/active_record/encryption/key_provider.rb +46 -0
  118. data/lib/active_record/encryption/message.rb +33 -0
  119. data/lib/active_record/encryption/message_serializer.rb +80 -0
  120. data/lib/active_record/encryption/null_encryptor.rb +21 -0
  121. data/lib/active_record/encryption/properties.rb +76 -0
  122. data/lib/active_record/encryption/read_only_null_encryptor.rb +24 -0
  123. data/lib/active_record/encryption/scheme.rb +99 -0
  124. data/lib/active_record/encryption.rb +55 -0
  125. data/lib/active_record/enum.rb +44 -46
  126. data/lib/active_record/errors.rb +66 -3
  127. data/lib/active_record/fixture_set/file.rb +15 -1
  128. data/lib/active_record/fixture_set/table_row.rb +40 -5
  129. data/lib/active_record/fixture_set/table_rows.rb +4 -4
  130. data/lib/active_record/fixtures.rb +16 -11
  131. data/lib/active_record/future_result.rb +139 -0
  132. data/lib/active_record/gem_version.rb +4 -4
  133. data/lib/active_record/inheritance.rb +55 -17
  134. data/lib/active_record/insert_all.rb +39 -6
  135. data/lib/active_record/integration.rb +1 -1
  136. data/lib/active_record/internal_metadata.rb +3 -5
  137. data/lib/active_record/legacy_yaml_adapter.rb +1 -1
  138. data/lib/active_record/locking/optimistic.rb +10 -9
  139. data/lib/active_record/log_subscriber.rb +6 -2
  140. data/lib/active_record/middleware/database_selector/resolver.rb +6 -10
  141. data/lib/active_record/middleware/database_selector.rb +8 -3
  142. data/lib/active_record/migration/command_recorder.rb +4 -4
  143. data/lib/active_record/migration/compatibility.rb +83 -1
  144. data/lib/active_record/migration/join_table.rb +1 -1
  145. data/lib/active_record/migration.rb +109 -79
  146. data/lib/active_record/model_schema.rb +46 -32
  147. data/lib/active_record/nested_attributes.rb +3 -3
  148. data/lib/active_record/no_touching.rb +2 -2
  149. data/lib/active_record/null_relation.rb +2 -6
  150. data/lib/active_record/persistence.rb +134 -45
  151. data/lib/active_record/query_cache.rb +2 -2
  152. data/lib/active_record/query_logs.rb +203 -0
  153. data/lib/active_record/querying.rb +15 -5
  154. data/lib/active_record/railtie.rb +117 -17
  155. data/lib/active_record/railties/controller_runtime.rb +1 -1
  156. data/lib/active_record/railties/databases.rake +83 -58
  157. data/lib/active_record/readonly_attributes.rb +11 -0
  158. data/lib/active_record/reflection.rb +45 -44
  159. data/lib/active_record/relation/batches/batch_enumerator.rb +19 -5
  160. data/lib/active_record/relation/batches.rb +3 -3
  161. data/lib/active_record/relation/calculations.rb +42 -25
  162. data/lib/active_record/relation/delegation.rb +6 -6
  163. data/lib/active_record/relation/finder_methods.rb +32 -23
  164. data/lib/active_record/relation/merger.rb +20 -13
  165. data/lib/active_record/relation/predicate_builder.rb +1 -6
  166. data/lib/active_record/relation/query_attribute.rb +5 -11
  167. data/lib/active_record/relation/query_methods.rb +233 -50
  168. data/lib/active_record/relation/record_fetch_warning.rb +2 -2
  169. data/lib/active_record/relation/spawn_methods.rb +2 -2
  170. data/lib/active_record/relation/where_clause.rb +22 -15
  171. data/lib/active_record/relation.rb +170 -87
  172. data/lib/active_record/result.rb +17 -2
  173. data/lib/active_record/runtime_registry.rb +2 -4
  174. data/lib/active_record/sanitization.rb +11 -7
  175. data/lib/active_record/schema_dumper.rb +3 -3
  176. data/lib/active_record/schema_migration.rb +0 -4
  177. data/lib/active_record/scoping/default.rb +62 -15
  178. data/lib/active_record/scoping/named.rb +3 -11
  179. data/lib/active_record/scoping.rb +40 -22
  180. data/lib/active_record/serialization.rb +1 -1
  181. data/lib/active_record/signed_id.rb +1 -1
  182. data/lib/active_record/statement_cache.rb +2 -2
  183. data/lib/active_record/tasks/database_tasks.rb +107 -23
  184. data/lib/active_record/tasks/mysql_database_tasks.rb +1 -1
  185. data/lib/active_record/tasks/postgresql_database_tasks.rb +14 -11
  186. data/lib/active_record/test_databases.rb +1 -1
  187. data/lib/active_record/test_fixtures.rb +45 -4
  188. data/lib/active_record/timestamp.rb +3 -4
  189. data/lib/active_record/transactions.rb +9 -14
  190. data/lib/active_record/translation.rb +2 -2
  191. data/lib/active_record/type/adapter_specific_registry.rb +32 -7
  192. data/lib/active_record/type/hash_lookup_type_map.rb +34 -1
  193. data/lib/active_record/type/internal/timezone.rb +2 -2
  194. data/lib/active_record/type/serialized.rb +1 -1
  195. data/lib/active_record/type/type_map.rb +17 -20
  196. data/lib/active_record/type.rb +1 -2
  197. data/lib/active_record/validations/associated.rb +1 -1
  198. data/lib/active_record/validations/numericality.rb +1 -1
  199. data/lib/active_record.rb +170 -2
  200. data/lib/arel/attributes/attribute.rb +0 -8
  201. data/lib/arel/collectors/bind.rb +2 -2
  202. data/lib/arel/collectors/composite.rb +3 -3
  203. data/lib/arel/collectors/sql_string.rb +1 -1
  204. data/lib/arel/collectors/substitute_binds.rb +1 -1
  205. data/lib/arel/crud.rb +18 -22
  206. data/lib/arel/delete_manager.rb +2 -4
  207. data/lib/arel/insert_manager.rb +2 -3
  208. data/lib/arel/nodes/casted.rb +1 -1
  209. data/lib/arel/nodes/delete_statement.rb +8 -13
  210. data/lib/arel/nodes/homogeneous_in.rb +4 -0
  211. data/lib/arel/nodes/insert_statement.rb +2 -2
  212. data/lib/arel/nodes/select_core.rb +2 -2
  213. data/lib/arel/nodes/select_statement.rb +2 -2
  214. data/lib/arel/nodes/update_statement.rb +3 -2
  215. data/lib/arel/predications.rb +3 -3
  216. data/lib/arel/select_manager.rb +10 -4
  217. data/lib/arel/table.rb +0 -1
  218. data/lib/arel/tree_manager.rb +0 -12
  219. data/lib/arel/update_manager.rb +2 -4
  220. data/lib/arel/visitors/dot.rb +80 -90
  221. data/lib/arel/visitors/mysql.rb +6 -1
  222. data/lib/arel/visitors/postgresql.rb +0 -10
  223. data/lib/arel/visitors/to_sql.rb +44 -3
  224. data/lib/arel.rb +1 -1
  225. data/lib/rails/generators/active_record/application_record/templates/application_record.rb.tt +1 -1
  226. data/lib/rails/generators/active_record/model/templates/abstract_base_class.rb.tt +1 -1
  227. data/lib/rails/generators/active_record/model/templates/model.rb.tt +1 -1
  228. data/lib/rails/generators/active_record/model/templates/module.rb.tt +2 -2
  229. metadata +55 -16
@@ -78,16 +78,6 @@ module Arel # :nodoc: all
78
78
  visit o.right, collector
79
79
  end
80
80
 
81
- def visit_Arel_Nodes_NullsFirst(o, collector)
82
- visit o.expr, collector
83
- collector << " NULLS FIRST"
84
- end
85
-
86
- def visit_Arel_Nodes_NullsLast(o, collector)
87
- visit o.expr, collector
88
- collector << " NULLS LAST"
89
- end
90
-
91
81
  BIND_BLOCK = proc { |i| "$#{i}" }
92
82
  private_constant :BIND_BLOCK
93
83
 
@@ -103,7 +103,7 @@ module Arel # :nodoc: all
103
103
  row.each_with_index do |value, k|
104
104
  collector << ", " unless k == 0
105
105
  case value
106
- when Nodes::SqlLiteral, Nodes::BindParam
106
+ when Nodes::SqlLiteral, Nodes::BindParam, ActiveModel::Attribute
107
107
  collector = visit(value, collector)
108
108
  else
109
109
  collector << quote(value).to_s
@@ -135,6 +135,8 @@ module Arel # :nodoc: all
135
135
  visit_Arel_Nodes_SelectOptions(o, collector)
136
136
  end
137
137
 
138
+ # The Oracle enhanced adapter uses this private method,
139
+ # see https://github.com/rsim/oracle-enhanced/issues/2186
138
140
  def visit_Arel_Nodes_SelectOptions(o, collector)
139
141
  collector = maybe_visit o.limit, collector
140
142
  collector = maybe_visit o.offset, collector
@@ -337,7 +339,7 @@ module Arel # :nodoc: all
337
339
  if values.empty?
338
340
  collector << @connection.quote(nil)
339
341
  else
340
- collector.add_binds(values, &bind_block)
342
+ collector.add_binds(values, o.proc_for_binds, &bind_block)
341
343
  end
342
344
 
343
345
  collector << ")"
@@ -357,6 +359,17 @@ module Arel # :nodoc: all
357
359
  visit(o.expr, collector) << " DESC"
358
360
  end
359
361
 
362
+ # NullsFirst is available on all but MySQL, where it is redefined.
363
+ def visit_Arel_Nodes_NullsFirst(o, collector)
364
+ visit o.expr, collector
365
+ collector << " NULLS FIRST"
366
+ end
367
+
368
+ def visit_Arel_Nodes_NullsLast(o, collector)
369
+ visit o.expr, collector
370
+ collector << " NULLS LAST"
371
+ end
372
+
360
373
  def visit_Arel_Nodes_Group(o, collector)
361
374
  visit o.expr, collector
362
375
  end
@@ -412,24 +425,48 @@ module Arel # :nodoc: all
412
425
  end
413
426
 
414
427
  def visit_Arel_Nodes_GreaterThanOrEqual(o, collector)
428
+ case unboundable?(o.right)
429
+ when 1
430
+ return collector << "1=0"
431
+ when -1
432
+ return collector << "1=1"
433
+ end
415
434
  collector = visit o.left, collector
416
435
  collector << " >= "
417
436
  visit o.right, collector
418
437
  end
419
438
 
420
439
  def visit_Arel_Nodes_GreaterThan(o, collector)
440
+ case unboundable?(o.right)
441
+ when 1
442
+ return collector << "1=0"
443
+ when -1
444
+ return collector << "1=1"
445
+ end
421
446
  collector = visit o.left, collector
422
447
  collector << " > "
423
448
  visit o.right, collector
424
449
  end
425
450
 
426
451
  def visit_Arel_Nodes_LessThanOrEqual(o, collector)
452
+ case unboundable?(o.right)
453
+ when 1
454
+ return collector << "1=1"
455
+ when -1
456
+ return collector << "1=0"
457
+ end
427
458
  collector = visit o.left, collector
428
459
  collector << " <= "
429
460
  visit o.right, collector
430
461
  end
431
462
 
432
463
  def visit_Arel_Nodes_LessThan(o, collector)
464
+ case unboundable?(o.right)
465
+ when 1
466
+ return collector << "1=1"
467
+ when -1
468
+ return collector << "1=0"
469
+ end
433
470
  collector = visit o.left, collector
434
471
  collector << " < "
435
472
  visit o.right, collector
@@ -585,7 +622,7 @@ module Arel # :nodoc: all
585
622
 
586
623
  def visit_Arel_Nodes_Assignment(o, collector)
587
624
  case o.right
588
- when Arel::Nodes::Node, Arel::Attributes::Attribute
625
+ when Arel::Nodes::Node, Arel::Attributes::Attribute, ActiveModel::Attribute
589
626
  collector = visit o.left, collector
590
627
  collector << " = "
591
628
  visit o.right, collector
@@ -695,6 +732,10 @@ module Arel # :nodoc: all
695
732
 
696
733
  def bind_block; BIND_BLOCK; end
697
734
 
735
+ def visit_ActiveModel_Attribute(o, collector)
736
+ collector.add_bind(o, &bind_block)
737
+ end
738
+
698
739
  def visit_Arel_Nodes_BindParam(o, collector)
699
740
  collector.add_bind(o.value, &bind_block)
700
741
  end
data/lib/arel.rb CHANGED
@@ -29,7 +29,7 @@ module Arel
29
29
 
30
30
  # Wrap a known-safe SQL string for passing to query methods, e.g.
31
31
  #
32
- # Post.order(Arel.sql("length(title)")).last
32
+ # Post.order(Arel.sql("REPLACE(title, 'misc', 'zzzz') asc")).pluck(:id)
33
33
  #
34
34
  # Great caution should be taken to avoid SQL injection vulnerabilities.
35
35
  # This method should not be used with unsafe values such as request
@@ -1,5 +1,5 @@
1
1
  <% module_namespacing do -%>
2
2
  class ApplicationRecord < ActiveRecord::Base
3
- self.abstract_class = true
3
+ primary_abstract_class
4
4
  end
5
5
  <% end -%>
@@ -2,6 +2,6 @@
2
2
  class <%= abstract_class_name %> < ApplicationRecord
3
3
  self.abstract_class = true
4
4
 
5
- connects_to database: { <%= ActiveRecord::Base.writing_role %>: :<%= database -%> }
5
+ connects_to database: { <%= ActiveRecord.writing_role %>: :<%= database -%> }
6
6
  end
7
7
  <% end -%>
@@ -1,7 +1,7 @@
1
1
  <% module_namespacing do -%>
2
2
  class <%= class_name %> < <%= parent_class_name.classify %>
3
3
  <% attributes.select(&:reference?).each do |attribute| -%>
4
- belongs_to :<%= attribute.name %><%= ', polymorphic: true' if attribute.polymorphic? %>
4
+ belongs_to :<%= attribute.name %><%= ", polymorphic: true" if attribute.polymorphic? %>
5
5
  <% end -%>
6
6
  <% attributes.select(&:rich_text?).each do |attribute| -%>
7
7
  has_rich_text :<%= attribute.name %>
@@ -1,7 +1,7 @@
1
1
  <% module_namespacing do -%>
2
- module <%= class_path.map(&:camelize).join('::') %>
2
+ module <%= class_path.map(&:camelize).join("::") %>
3
3
  def self.table_name_prefix
4
- '<%= namespaced? ? namespaced_class_path.join('_') : class_path.join('_') %>_'
4
+ "<%= namespaced? ? namespaced_class_path.join("_") : class_path.join("_") %>_"
5
5
  end
6
6
  end
7
7
  <% 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: 6.1.3.2
4
+ version: 7.0.0.alpha2
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: 2021-05-05 00:00:00.000000000 Z
11
+ date: 2021-09-15 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: 6.1.3.2
19
+ version: 7.0.0.alpha2
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: 6.1.3.2
26
+ version: 7.0.0.alpha2
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: 6.1.3.2
33
+ version: 7.0.0.alpha2
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: 6.1.3.2
40
+ version: 7.0.0.alpha2
41
41
  description: Databases on Rails. Build a persistent domain model by mapping database
42
42
  tables to Ruby classes. Strong conventions for associations, validations, aggregations,
43
43
  migrations, and testing come baked-in.
@@ -70,6 +70,7 @@ files:
70
70
  - lib/active_record/associations/builder/singular_association.rb
71
71
  - lib/active_record/associations/collection_association.rb
72
72
  - lib/active_record/associations/collection_proxy.rb
73
+ - lib/active_record/associations/disable_joins_association_scope.rb
73
74
  - lib/active_record/associations/foreign_association.rb
74
75
  - lib/active_record/associations/has_many_association.rb
75
76
  - lib/active_record/associations/has_many_through_association.rb
@@ -81,9 +82,12 @@ files:
81
82
  - lib/active_record/associations/join_dependency/join_part.rb
82
83
  - lib/active_record/associations/preloader.rb
83
84
  - lib/active_record/associations/preloader/association.rb
85
+ - lib/active_record/associations/preloader/batch.rb
86
+ - lib/active_record/associations/preloader/branch.rb
84
87
  - lib/active_record/associations/preloader/through_association.rb
85
88
  - lib/active_record/associations/singular_association.rb
86
89
  - lib/active_record/associations/through_association.rb
90
+ - lib/active_record/asynchronous_queries_tracker.rb
87
91
  - lib/active_record/attribute_assignment.rb
88
92
  - lib/active_record/attribute_methods.rb
89
93
  - lib/active_record/attribute_methods/before_type_cast.rb
@@ -101,7 +105,10 @@ files:
101
105
  - lib/active_record/coders/json.rb
102
106
  - lib/active_record/coders/yaml_column.rb
103
107
  - lib/active_record/connection_adapters.rb
108
+ - lib/active_record/connection_adapters/abstract/connection_handler.rb
104
109
  - lib/active_record/connection_adapters/abstract/connection_pool.rb
110
+ - lib/active_record/connection_adapters/abstract/connection_pool/queue.rb
111
+ - lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb
105
112
  - lib/active_record/connection_adapters/abstract/database_limits.rb
106
113
  - lib/active_record/connection_adapters/abstract/database_statements.rb
107
114
  - lib/active_record/connection_adapters/abstract/query_cache.rb
@@ -153,6 +160,8 @@ files:
153
160
  - lib/active_record/connection_adapters/postgresql/oid/point.rb
154
161
  - lib/active_record/connection_adapters/postgresql/oid/range.rb
155
162
  - lib/active_record/connection_adapters/postgresql/oid/specialized_string.rb
163
+ - lib/active_record/connection_adapters/postgresql/oid/timestamp.rb
164
+ - lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb
156
165
  - lib/active_record/connection_adapters/postgresql/oid/type_map_initializer.rb
157
166
  - lib/active_record/connection_adapters/postgresql/oid/uuid.rb
158
167
  - lib/active_record/connection_adapters/postgresql/oid/vector.rb
@@ -187,7 +196,35 @@ files:
187
196
  - lib/active_record/database_configurations/url_config.rb
188
197
  - lib/active_record/delegated_type.rb
189
198
  - lib/active_record/destroy_association_async_job.rb
199
+ - lib/active_record/disable_joins_association_relation.rb
190
200
  - lib/active_record/dynamic_matchers.rb
201
+ - lib/active_record/encryption.rb
202
+ - lib/active_record/encryption/cipher.rb
203
+ - lib/active_record/encryption/cipher/aes256_gcm.rb
204
+ - lib/active_record/encryption/config.rb
205
+ - lib/active_record/encryption/configurable.rb
206
+ - lib/active_record/encryption/context.rb
207
+ - lib/active_record/encryption/contexts.rb
208
+ - lib/active_record/encryption/derived_secret_key_provider.rb
209
+ - lib/active_record/encryption/deterministic_key_provider.rb
210
+ - lib/active_record/encryption/encryptable_record.rb
211
+ - lib/active_record/encryption/encrypted_attribute_type.rb
212
+ - lib/active_record/encryption/encrypted_fixtures.rb
213
+ - lib/active_record/encryption/encrypting_only_encryptor.rb
214
+ - lib/active_record/encryption/encryptor.rb
215
+ - lib/active_record/encryption/envelope_encryption_key_provider.rb
216
+ - lib/active_record/encryption/errors.rb
217
+ - lib/active_record/encryption/extended_deterministic_queries.rb
218
+ - lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb
219
+ - lib/active_record/encryption/key.rb
220
+ - lib/active_record/encryption/key_generator.rb
221
+ - lib/active_record/encryption/key_provider.rb
222
+ - lib/active_record/encryption/message.rb
223
+ - lib/active_record/encryption/message_serializer.rb
224
+ - lib/active_record/encryption/null_encryptor.rb
225
+ - lib/active_record/encryption/properties.rb
226
+ - lib/active_record/encryption/read_only_null_encryptor.rb
227
+ - lib/active_record/encryption/scheme.rb
191
228
  - lib/active_record/enum.rb
192
229
  - lib/active_record/errors.rb
193
230
  - lib/active_record/explain.rb
@@ -199,6 +236,7 @@ files:
199
236
  - lib/active_record/fixture_set/table_row.rb
200
237
  - lib/active_record/fixture_set/table_rows.rb
201
238
  - lib/active_record/fixtures.rb
239
+ - lib/active_record/future_result.rb
202
240
  - lib/active_record/gem_version.rb
203
241
  - lib/active_record/inheritance.rb
204
242
  - lib/active_record/insert_all.rb
@@ -222,6 +260,7 @@ files:
222
260
  - lib/active_record/null_relation.rb
223
261
  - lib/active_record/persistence.rb
224
262
  - lib/active_record/query_cache.rb
263
+ - lib/active_record/query_logs.rb
225
264
  - lib/active_record/querying.rb
226
265
  - lib/active_record/railtie.rb
227
266
  - lib/active_record/railties/console_sandbox.rb
@@ -390,11 +429,11 @@ licenses:
390
429
  - MIT
391
430
  metadata:
392
431
  bug_tracker_uri: https://github.com/rails/rails/issues
393
- changelog_uri: https://github.com/rails/rails/blob/v6.1.3.2/activerecord/CHANGELOG.md
394
- documentation_uri: https://api.rubyonrails.org/v6.1.3.2/
432
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.0.alpha2/activerecord/CHANGELOG.md
433
+ documentation_uri: https://api.rubyonrails.org/v7.0.0.alpha2/
395
434
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
396
- source_code_uri: https://github.com/rails/rails/tree/v6.1.3.2/activerecord
397
- post_install_message:
435
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.0.alpha2/activerecord
436
+ post_install_message:
398
437
  rdoc_options:
399
438
  - "--main"
400
439
  - README.rdoc
@@ -404,15 +443,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
404
443
  requirements:
405
444
  - - ">="
406
445
  - !ruby/object:Gem::Version
407
- version: 2.5.0
446
+ version: 2.7.0
408
447
  required_rubygems_version: !ruby/object:Gem::Requirement
409
448
  requirements:
410
- - - ">="
449
+ - - ">"
411
450
  - !ruby/object:Gem::Version
412
- version: '0'
451
+ version: 1.3.1
413
452
  requirements: []
414
- rubygems_version: 3.1.2
415
- signing_key:
453
+ rubygems_version: 3.1.6
454
+ signing_key:
416
455
  specification_version: 4
417
456
  summary: Object-relational mapper framework (part of Rails).
418
457
  test_files: []