pg_multitenant_schemas 0.2.3 โ†’ 0.3.6

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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/.agent.md +54 -0
  3. data/.rubocop.yml +7 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +58 -0
  6. data/DELIVERY_SUMMARY.md +318 -0
  7. data/GITHUB_ACTIONS_QUICK_START.md +110 -0
  8. data/GITHUB_ACTIONS_SETUP.md +313 -0
  9. data/GITHUB_ACTIONS_SUMMARY.md +231 -0
  10. data/LICENSE.txt +1 -1
  11. data/LOCAL_TESTING_SUMMARY.md +30 -13
  12. data/READY_TO_RELEASE.md +308 -0
  13. data/RELEASE_NOTES.md +194 -0
  14. data/RELEASE_STEPS.md +122 -0
  15. data/WORKFLOW_FIXES.md +188 -0
  16. data/docs/index.html +929 -0
  17. data/lib/pg_multitenant_schemas/configuration.rb +7 -1
  18. data/lib/pg_multitenant_schemas/context.rb +92 -3
  19. data/lib/pg_multitenant_schemas/rails/controller_concern.rb +81 -6
  20. data/lib/pg_multitenant_schemas/rails/generators/install_generator.rb +27 -0
  21. data/lib/pg_multitenant_schemas/rails/generators/tenant_migration_generator.rb +30 -0
  22. data/lib/pg_multitenant_schemas/rails/model_concern.rb +3 -3
  23. data/lib/pg_multitenant_schemas/rails/railtie.rb +27 -0
  24. data/lib/pg_multitenant_schemas/schema_switcher.rb +73 -7
  25. data/lib/pg_multitenant_schemas/tenant_resolver.rb +3 -3
  26. data/lib/pg_multitenant_schemas/ui/app/assets/stylesheets/pg_multitenant_schemas/ui/application.css +94 -0
  27. data/lib/pg_multitenant_schemas/ui/app/controllers/pg_multitenant_schemas/ui/tenants_controller.rb +130 -0
  28. data/lib/pg_multitenant_schemas/ui/app/views/layouts/pg_multitenant_schemas/ui/application.html.erb +29 -0
  29. data/lib/pg_multitenant_schemas/ui/app/views/pg_multitenant_schemas/ui/tenants/index.html.erb +85 -0
  30. data/lib/pg_multitenant_schemas/ui/app/views/pg_multitenant_schemas/ui/tenants/migration_status.html.erb +45 -0
  31. data/lib/pg_multitenant_schemas/ui/app/views/pg_multitenant_schemas/ui/tenants/new.html.erb +50 -0
  32. data/lib/pg_multitenant_schemas/ui/config/routes.rb +20 -0
  33. data/lib/pg_multitenant_schemas/ui/engine.rb +49 -0
  34. data/lib/pg_multitenant_schemas/ui.rb +9 -0
  35. data/lib/pg_multitenant_schemas/version.rb +1 -1
  36. data/lib/pg_multitenant_schemas.rb +155 -29
  37. data/pg_multitenant_schemas.gemspec +15 -9
  38. data/pre-release-check.sh +46 -0
  39. metadata +39 -12
@@ -0,0 +1,46 @@
1
+ #!/bin/bash
2
+
3
+ # Pre-Release Checklist for PgMultitenantSchemas
4
+
5
+ set -e
6
+
7
+ echo "๐Ÿš€ PgMultitenantSchemas Release Preparation"
8
+ echo "==========================================="
9
+ echo ""
10
+
11
+ # Check git status
12
+ echo "๐Ÿ“‹ Checking git status..."
13
+ git status
14
+
15
+ echo ""
16
+ echo "โœ… Pre-Release Checklist"
17
+ echo "======================="
18
+ echo ""
19
+
20
+ # Run tests
21
+ echo "๐Ÿงช Running test suite..."
22
+ bundle exec rspec --format=progress 2>&1 | tail -3
23
+ echo ""
24
+
25
+ # Check for any syntax errors
26
+ echo "๐Ÿ” Checking for syntax errors..."
27
+ bundle exec ruby -c lib/pg_multitenant_schemas.rb > /dev/null && echo "โœ… Main module OK"
28
+ bundle exec ruby -c lib/pg_multitenant_schemas/context.rb > /dev/null && echo "โœ… Context module OK"
29
+ bundle exec ruby -c lib/pg_multitenant_schemas/schema_switcher.rb > /dev/null && echo "โœ… SchemaSwitcher module OK"
30
+ echo ""
31
+
32
+ # Check version
33
+ echo "๐Ÿ“Œ Current version:"
34
+ grep "VERSION = " lib/pg_multitenant_schemas/version.rb
35
+ echo ""
36
+
37
+ echo "โœจ Release checklist completed!"
38
+ echo ""
39
+ echo "๐Ÿ“ Next steps:"
40
+ echo "1. Review changes: git diff"
41
+ echo "2. Stage changes: git add ."
42
+ echo "3. Commit: git commit -m 'Release v0.3.0'"
43
+ echo "4. Create tag: git tag -a v0.3.0 -m 'Release v0.3.0'"
44
+ echo "5. Push: git push && git push --tags"
45
+ echo "6. Build gem: gem build pg_multitenant_schemas.gemspec"
46
+ echo "7. Push to RubyGems: gem push pg_multitenant_schemas-0.3.0.gem"
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_multitenant_schemas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
- - Ruben Paz
7
+ - L BYTE EIRL
8
8
  bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
@@ -55,25 +55,28 @@ dependencies:
55
55
  requirements:
56
56
  - - "~>"
57
57
  - !ruby/object:Gem::Version
58
- version: '1.5'
58
+ version: '1.6'
59
59
  type: :runtime
60
60
  prerelease: false
61
61
  version_requirements: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - "~>"
64
64
  - !ruby/object:Gem::Version
65
- version: '1.5'
66
- description: A modern Ruby gem that provides PostgreSQL schema-based multitenancy
67
- with automatic tenant resolution and schema switching. Compatible with Rails 7+
68
- and Ruby 3.0+, focusing on security, performance, and developer experience. Perfect
69
- for modern SaaS applications requiring secure tenant isolation.
65
+ version: '1.6'
66
+ description: A production-ready Ruby gem providing PostgreSQL schema-based multitenancy
67
+ with automatic tenant resolution, secure isolation, and high performance. Built
68
+ for Rails 8+ and Ruby 4.0+, tested with latest stable versions. Features comprehensive
69
+ test coverage (217 tests, 100% passing), complete YARD documentation, and interactive
70
+ HTML documentation site. Perfect for modern SaaS applications with database-level
71
+ isolation.
70
72
  email:
71
- - rubenpazchuspe@outlook.com
73
+ - info@lbyte.io
72
74
  executables: []
73
75
  extensions: []
74
76
  extra_rdoc_files: []
75
77
  files:
76
78
  - ".actrc"
79
+ - ".agent.md"
77
80
  - ".env.local.example"
78
81
  - ".rspec"
79
82
  - ".rubocop.yml"
@@ -81,17 +84,26 @@ files:
81
84
  - ".ruby-version"
82
85
  - CHANGELOG.md
83
86
  - CODE_OF_CONDUCT.md
87
+ - DELIVERY_SUMMARY.md
88
+ - GITHUB_ACTIONS_QUICK_START.md
89
+ - GITHUB_ACTIONS_SETUP.md
90
+ - GITHUB_ACTIONS_SUMMARY.md
84
91
  - LICENSE.txt
85
92
  - LOCAL_TESTING_SUMMARY.md
86
93
  - README.md
94
+ - READY_TO_RELEASE.md
95
+ - RELEASE_NOTES.md
96
+ - RELEASE_STEPS.md
87
97
  - Rakefile
88
98
  - TESTING_LOCALLY.md
99
+ - WORKFLOW_FIXES.md
89
100
  - docs/README.md
90
101
  - docs/configuration.md
91
102
  - docs/context.md
92
103
  - docs/errors.md
93
104
  - docs/github_actions_permissions_fix.md
94
105
  - docs/github_actions_setup.md
106
+ - docs/index.html
95
107
  - docs/integration_testing.md
96
108
  - docs/local_workflow_testing.md
97
109
  - docs/migrator.md
@@ -114,6 +126,8 @@ files:
114
126
  - lib/pg_multitenant_schemas/migration_status_reporter.rb
115
127
  - lib/pg_multitenant_schemas/migrator.rb
116
128
  - lib/pg_multitenant_schemas/rails/controller_concern.rb
129
+ - lib/pg_multitenant_schemas/rails/generators/install_generator.rb
130
+ - lib/pg_multitenant_schemas/rails/generators/tenant_migration_generator.rb
117
131
  - lib/pg_multitenant_schemas/rails/model_concern.rb
118
132
  - lib/pg_multitenant_schemas/rails/railtie.rb
119
133
  - lib/pg_multitenant_schemas/schema_switcher.rb
@@ -122,9 +136,19 @@ files:
122
136
  - lib/pg_multitenant_schemas/tasks/tenant_tasks.rake
123
137
  - lib/pg_multitenant_schemas/tenant_resolver.rb
124
138
  - lib/pg_multitenant_schemas/tenant_task_helpers.rb
139
+ - lib/pg_multitenant_schemas/ui.rb
140
+ - lib/pg_multitenant_schemas/ui/app/assets/stylesheets/pg_multitenant_schemas/ui/application.css
141
+ - lib/pg_multitenant_schemas/ui/app/controllers/pg_multitenant_schemas/ui/tenants_controller.rb
142
+ - lib/pg_multitenant_schemas/ui/app/views/layouts/pg_multitenant_schemas/ui/application.html.erb
143
+ - lib/pg_multitenant_schemas/ui/app/views/pg_multitenant_schemas/ui/tenants/index.html.erb
144
+ - lib/pg_multitenant_schemas/ui/app/views/pg_multitenant_schemas/ui/tenants/migration_status.html.erb
145
+ - lib/pg_multitenant_schemas/ui/app/views/pg_multitenant_schemas/ui/tenants/new.html.erb
146
+ - lib/pg_multitenant_schemas/ui/config/routes.rb
147
+ - lib/pg_multitenant_schemas/ui/engine.rb
125
148
  - lib/pg_multitenant_schemas/version.rb
126
149
  - pg_multitenant_schemas.gemspec
127
150
  - pre-push-check.sh
151
+ - pre-release-check.sh
128
152
  - rails_integration/app/controllers/application_controller.rb
129
153
  - rails_integration/app/models/tenant.rb
130
154
  - sig/pg_multitenant_schemas.rbs
@@ -138,6 +162,9 @@ metadata:
138
162
  homepage_uri: https://github.com/rubenpazch/pg_multitenant_schemas
139
163
  source_code_uri: https://github.com/rubenpazch/pg_multitenant_schemas
140
164
  changelog_uri: https://github.com/rubenpazch/pg_multitenant_schemas/blob/main/CHANGELOG.md
165
+ documentation_uri: https://rubenpazch.github.io/pg_multitenant_schemas
166
+ bug_tracker_uri: https://github.com/rubenpazch/pg_multitenant_schemas/issues
167
+ github_repo: ssh://git@github.com/rubenpazch/pg_multitenant_schemas.git
141
168
  rdoc_options: []
142
169
  require_paths:
143
170
  - lib
@@ -145,14 +172,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
172
  requirements:
146
173
  - - ">="
147
174
  - !ruby/object:Gem::Version
148
- version: 3.0.0
175
+ version: 4.0.0
149
176
  required_rubygems_version: !ruby/object:Gem::Requirement
150
177
  requirements:
151
178
  - - ">="
152
179
  - !ruby/object:Gem::Version
153
180
  version: '0'
154
181
  requirements: []
155
- rubygems_version: 3.6.7
182
+ rubygems_version: 4.0.10
156
183
  specification_version: 4
157
- summary: Modern PostgreSQL schema-based multitenancy for Rails 7+ applications
184
+ summary: Modern PostgreSQL schema-based multitenancy for Rails
158
185
  test_files: []