ros-apartment 3.4.4 → 4.0.0.alpha2

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +221 -530
  3. data/config/default.yml +9 -0
  4. data/lib/apartment/CLAUDE.md +76 -251
  5. data/lib/apartment/adapters/CLAUDE.md +34 -161
  6. data/lib/apartment/adapters/abstract_adapter.rb +233 -200
  7. data/lib/apartment/adapters/mysql2_adapter.rb +64 -50
  8. data/lib/apartment/adapters/postgresql_database_adapter.rb +76 -0
  9. data/lib/apartment/adapters/postgresql_schema_adapter.rb +118 -0
  10. data/lib/apartment/adapters/sqlite3_adapter.rb +32 -44
  11. data/lib/apartment/adapters/trilogy_adapter.rb +4 -20
  12. data/lib/apartment/cli/migrations.rb +113 -0
  13. data/lib/apartment/cli/pool.rb +67 -0
  14. data/lib/apartment/cli/seeds.rb +48 -0
  15. data/lib/apartment/cli/tenants.rb +85 -0
  16. data/lib/apartment/cli.rb +18 -0
  17. data/lib/apartment/concerns/model.rb +140 -0
  18. data/lib/apartment/config.rb +217 -0
  19. data/lib/apartment/configs/mysql_config.rb +19 -0
  20. data/lib/apartment/configs/postgresql_config.rb +39 -0
  21. data/lib/apartment/current.rb +18 -0
  22. data/lib/apartment/elevators/CLAUDE.md +49 -10
  23. data/lib/apartment/elevators/first_subdomain.rb +6 -6
  24. data/lib/apartment/elevators/generic.rb +79 -8
  25. data/lib/apartment/elevators/header.rb +26 -0
  26. data/lib/apartment/elevators/host.rb +5 -18
  27. data/lib/apartment/elevators/host_hash.rb +6 -10
  28. data/lib/apartment/elevators/subdomain.rb +8 -27
  29. data/lib/apartment/errors.rb +127 -0
  30. data/lib/apartment/instrumentation.rb +18 -0
  31. data/lib/apartment/lifecycle.rb +32 -0
  32. data/lib/apartment/migrator.rb +210 -37
  33. data/lib/apartment/patches/connection_handling.rb +98 -0
  34. data/lib/apartment/patches/live_tenant_propagation.rb +53 -0
  35. data/lib/apartment/pool_manager.rb +130 -0
  36. data/lib/apartment/pool_reaper.rb +211 -0
  37. data/lib/apartment/railtie.rb +172 -42
  38. data/lib/apartment/schema_cache.rb +26 -0
  39. data/lib/apartment/schema_dumper_patch.rb +48 -0
  40. data/lib/apartment/tasks/CLAUDE.md +16 -93
  41. data/lib/apartment/tasks/v4.rake +50 -0
  42. data/lib/apartment/tenant.rb +323 -45
  43. data/lib/apartment/tenant_name_validator.rb +87 -0
  44. data/lib/apartment/tenant_validator.rb +186 -0
  45. data/lib/apartment/test_fixtures.rb +34 -0
  46. data/lib/apartment/version.rb +1 -1
  47. data/lib/apartment.rb +304 -134
  48. data/lib/generators/apartment/install/install_generator.rb +6 -1
  49. data/lib/generators/apartment/install/templates/apartment.rb +65 -100
  50. data/lib/generators/apartment/install/templates/binstub +6 -0
  51. data/lib/rubocop/apartment.rb +4 -0
  52. data/lib/rubocop/cop/apartment/no_direct_current_write.rb +79 -0
  53. data/lib/rubocop/cop/apartment/prefer_block_switch.rb +39 -0
  54. data/ros-apartment.gemspec +14 -18
  55. metadata +89 -54
  56. data/.gitignore +0 -17
  57. data/.pryrc +0 -5
  58. data/.rspec +0 -4
  59. data/.rubocop.yml +0 -176
  60. data/.ruby-version +0 -1
  61. data/AGENTS.md +0 -19
  62. data/Appraisals +0 -145
  63. data/CLAUDE.md +0 -210
  64. data/CODE_OF_CONDUCT.md +0 -71
  65. data/Gemfile +0 -20
  66. data/Guardfile +0 -11
  67. data/RELEASING.md +0 -106
  68. data/Rakefile +0 -158
  69. data/context7.json +0 -4
  70. data/docs/adapters.md +0 -177
  71. data/docs/architecture.md +0 -274
  72. data/docs/elevators.md +0 -226
  73. data/docs/images/log_example.png +0 -0
  74. data/legacy_CHANGELOG.md +0 -965
  75. data/lib/apartment/active_record/connection_handling.rb +0 -31
  76. data/lib/apartment/active_record/internal_metadata.rb +0 -9
  77. data/lib/apartment/active_record/postgres/schema_dumper.rb +0 -20
  78. data/lib/apartment/active_record/postgresql_adapter.rb +0 -58
  79. data/lib/apartment/active_record/schema_migration.rb +0 -11
  80. data/lib/apartment/adapters/abstract_jdbc_adapter.rb +0 -20
  81. data/lib/apartment/adapters/jdbc_mysql_adapter.rb +0 -19
  82. data/lib/apartment/adapters/jdbc_postgresql_adapter.rb +0 -62
  83. data/lib/apartment/adapters/postgis_adapter.rb +0 -13
  84. data/lib/apartment/adapters/postgresql_adapter.rb +0 -325
  85. data/lib/apartment/console.rb +0 -24
  86. data/lib/apartment/custom_console.rb +0 -42
  87. data/lib/apartment/deprecation.rb +0 -8
  88. data/lib/apartment/log_subscriber.rb +0 -45
  89. data/lib/apartment/model.rb +0 -29
  90. data/lib/apartment/tasks/enhancements.rb +0 -122
  91. data/lib/apartment/tasks/schema_dumper.rb +0 -110
  92. data/lib/apartment/tasks/task_helper.rb +0 -292
  93. data/lib/tasks/apartment.rake +0 -133
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f49aeee027e9b0efcfa2582df0370ec85c9825eab664bab8fda3fbcf519423b4
4
- data.tar.gz: 5f6f755319a8e2126d2e1f778da1908a84b7f3463540af929c242cb6ccd67438
3
+ metadata.gz: efc3d3a91e17846826ac5d5ca707cd17bdc5a5923b18fb4c0162ac87f24014d0
4
+ data.tar.gz: 5c1787f4e9cee805842e6035fcc2769415dfccdf90c3c2b354315271315638a2
5
5
  SHA512:
6
- metadata.gz: 65ec120872ede00a3e8b7b808786dde24bd8e8f8282c9e64be3a5ac2cbf32aa919ff9317364e32c95d66f62c6f01cb7cddb0a27783031042b3c3b9fd8f97ae43
7
- data.tar.gz: 85fabb97517aaa2941f14e037ac6e94c208ebed031625607bef4b9df46eed1a688c155834ac5f4f44691dcc63e0107c0fd9ea9881b711eb3e3ef785be8406db7
6
+ metadata.gz: 486bb0cd94225925ada99a497c89e314536300a261b898c3575a5008211e1e8f1632a9755dadae096f5814eaee00920e9652f70f8feb8676ff58897fc4262f2c
7
+ data.tar.gz: e9b88d3c86be4e0891ff584e85c822979c6146ece01ce2bab17f442603e8add4aef3e826157157df3325722e39209a70bf94ffdd218504abdbf6be7dd4af29cf