activerecord-multi-tenant 2.2.0 → 2.3.0
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/.github/workflows/active-record-multi-tenant-tests.yml +80 -0
- data/.gitignore +6 -0
- data/.readthedocs.yaml +15 -0
- data/.rspec +0 -0
- data/.rubocop.yml +51 -0
- data/Appraisals +0 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile +3 -1
- data/LICENSE +0 -0
- data/README.md +2 -1
- data/Rakefile +1 -1
- data/activerecord-multi-tenant.gemspec +28 -22
- data/docker-compose.yml +24 -18
- data/docs/.gitignore +3 -0
- data/docs/Makefile +28 -0
- data/docs/api-reference.sh +10 -0
- data/docs/requirements.in +4 -0
- data/docs/requirements.txt +62 -0
- data/docs/source/_static/api-reference/ActiveRecord/Associations/Association.html +285 -0
- data/docs/source/_static/api-reference/ActiveRecord/Associations/ClassMethods.html +255 -0
- data/docs/source/_static/api-reference/ActiveRecord/Associations.html +117 -0
- data/docs/source/_static/api-reference/ActiveRecord/ConnectionAdapters/SchemaStatements.html +232 -0
- data/docs/source/_static/api-reference/ActiveRecord/ConnectionAdapters.html +126 -0
- data/docs/source/_static/api-reference/ActiveRecord/QueryMethods.html +336 -0
- data/docs/source/_static/api-reference/ActiveRecord/SchemaDumper.html +121 -0
- data/docs/source/_static/api-reference/ActiveRecord.html +130 -0
- data/docs/source/_static/api-reference/MultiTenant/ArelTenantVisitor.html +755 -0
- data/docs/source/_static/api-reference/MultiTenant/ArelVisitorsDepthFirst.html +208 -0
- data/docs/source/_static/api-reference/MultiTenant/BaseTenantEnforcementClause.html +462 -0
- data/docs/source/_static/api-reference/MultiTenant/Context.html +659 -0
- data/docs/source/_static/api-reference/MultiTenant/ControllerExtensions.html +202 -0
- data/docs/source/_static/api-reference/MultiTenant/CopyFromClient.html +186 -0
- data/docs/source/_static/api-reference/MultiTenant/CopyFromClientHelper.html +362 -0
- data/docs/source/_static/api-reference/MultiTenant/Current.html +124 -0
- data/docs/source/_static/api-reference/MultiTenant/DatabaseStatements.html +366 -0
- data/docs/source/_static/api-reference/MultiTenant/FastTruncate.html +226 -0
- data/docs/source/_static/api-reference/MultiTenant/MigrationExtensions.html +554 -0
- data/docs/source/_static/api-reference/MultiTenant/MissingTenantError.html +124 -0
- data/docs/source/_static/api-reference/MultiTenant/ModelExtensionsClassMethods.html +492 -0
- data/docs/source/_static/api-reference/MultiTenant/QueryMonitor.html +257 -0
- data/docs/source/_static/api-reference/MultiTenant/Table.html +419 -0
- data/docs/source/_static/api-reference/MultiTenant/TenantEnforcementClause.html +148 -0
- data/docs/source/_static/api-reference/MultiTenant/TenantIsImmutable.html +135 -0
- data/docs/source/_static/api-reference/MultiTenant/TenantJoinEnforcementClause.html +310 -0
- data/docs/source/_static/api-reference/MultiTenant/TenantValueVisitor.html +239 -0
- data/docs/source/_static/api-reference/MultiTenant.html +1454 -0
- data/docs/source/_static/api-reference/MultiTenantFindBy.html +180 -0
- data/docs/source/_static/api-reference/Sidekiq/Client.html +302 -0
- data/docs/source/_static/api-reference/Sidekiq/Middleware/MultiTenant/Client.html +217 -0
- data/docs/source/_static/api-reference/Sidekiq/Middleware/MultiTenant/Server.html +219 -0
- data/docs/source/_static/api-reference/Sidekiq/Middleware/MultiTenant.html +126 -0
- data/docs/source/_static/api-reference/Sidekiq.html +126 -0
- data/docs/source/_static/api-reference/_index.html +399 -0
- data/docs/source/_static/api-reference/class_list.html +51 -0
- data/docs/source/_static/api-reference/css/common.css +1 -0
- data/docs/source/_static/api-reference/css/full_list.css +58 -0
- data/docs/source/_static/api-reference/css/style.css +497 -0
- data/docs/source/_static/api-reference/file.README.html +167 -0
- data/docs/source/_static/api-reference/file_list.html +56 -0
- data/docs/source/_static/api-reference/frames.html +17 -0
- data/docs/source/_static/api-reference/index.html +167 -0
- data/docs/source/_static/api-reference/js/app.js +314 -0
- data/docs/source/_static/api-reference/js/full_list.js +216 -0
- data/docs/source/_static/api-reference/js/jquery.js +4 -0
- data/docs/source/_static/api-reference/method_list.html +715 -0
- data/docs/source/_static/api-reference/top-level-namespace.html +126 -0
- data/docs/source/_templates/.gitignore +4 -0
- data/docs/source/api-reference.rst +8 -0
- data/docs/source/appendix.rst +26 -0
- data/docs/source/changelog.rst +8 -0
- data/docs/source/community-and-support.rst +26 -0
- data/docs/source/conf.py +30 -0
- data/docs/source/contributing.rst +70 -0
- data/docs/source/getting-started.rst +37 -0
- data/docs/source/guides-and-tutorials.rst +129 -0
- data/docs/source/index.rst +54 -0
- data/docs/source/introduction.rst +33 -0
- data/docs/source/license.rst +22 -0
- data/docs/source/troubleshooting.rst +41 -0
- data/docs/source/usage-guide.rst +59 -0
- data/lib/activerecord-multi-tenant/arel_visitors_depth_first.rb +183 -174
- data/lib/activerecord-multi-tenant/controller_extensions.rb +15 -4
- data/lib/activerecord-multi-tenant/copy_from_client.rb +4 -0
- data/lib/activerecord-multi-tenant/fast_truncate.rb +4 -2
- data/lib/activerecord-multi-tenant/habtm.rb +50 -0
- data/lib/activerecord-multi-tenant/migrations.rb +18 -8
- data/lib/activerecord-multi-tenant/model_extensions.rb +78 -37
- data/lib/activerecord-multi-tenant/multi_tenant.rb +40 -21
- data/lib/activerecord-multi-tenant/query_monitor.rb +21 -5
- data/lib/activerecord-multi-tenant/query_rewriter.rb +111 -80
- data/lib/activerecord-multi-tenant/sidekiq.rb +31 -20
- data/lib/activerecord-multi-tenant/version.rb +1 -1
- data/lib/activerecord-multi-tenant.rb +3 -12
- data/lib/activerecord_multi_tenant.rb +12 -0
- data/spec/activerecord-multi-tenant/associations_spec.rb +21 -0
- data/spec/activerecord-multi-tenant/controller_extensions_spec.rb +3 -2
- data/spec/activerecord-multi-tenant/fast_truncate_spec.rb +8 -6
- data/spec/activerecord-multi-tenant/model_extensions_spec.rb +233 -153
- data/spec/activerecord-multi-tenant/multi_tenant_spec.rb +15 -13
- data/spec/activerecord-multi-tenant/query_rewriter_spec.rb +60 -59
- data/spec/activerecord-multi-tenant/record_callback_spec.rb +0 -0
- data/spec/activerecord-multi-tenant/record_finding_spec.rb +11 -11
- data/spec/activerecord-multi-tenant/record_modifications_spec.rb +4 -4
- data/spec/activerecord-multi-tenant/sidekiq_spec.rb +10 -10
- data/spec/database.yml +0 -0
- data/spec/schema.rb +20 -2
- data/spec/spec_helper.rb +46 -17
- data/spec/support/format_sql.rb +20 -0
- metadata +130 -25
- data/.github/workflows/CI.yml +0 -47
- data/gemfiles/.bundle/config +0 -2
- data/gemfiles/active_record_6.0.gemfile +0 -8
- data/gemfiles/active_record_6.1.gemfile +0 -8
- data/gemfiles/active_record_7.0.gemfile +0 -8
- data/gemfiles/rails_6.0.gemfile +0 -8
- data/gemfiles/rails_6.1.gemfile +0 -8
- data/gemfiles/rails_7.0.gemfile +0 -8
- data/lib/activerecord-multi-tenant/with_lock.rb +0 -15
- data/spec/activerecord-multi-tenant/schema_dumper_tester.rb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ba7796208980393ca21739d24fa0ac384f0c63ab814041cf46e0216d22eef539
|
|
4
|
+
data.tar.gz: 107cea123278629ce9492b15eb6e168549eac4c155fe9a906e57e1695414faf7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c184c2db6316a82d4b092dfdaff1cb69cde80319837302822b7fe8ae387bf627fa6e8670f828d980636e448761e51629c38c53d42dbb505d094f1a2b5eba4b54
|
|
7
|
+
data.tar.gz: c021571f18b6072a98bbe0793607077b785a3a989e3365cd45cd7c0d94fb89f5ed30f3129b35199d88aeab653d6c656d20028a84a5ce74bedbaf2a3c6d36c5b6
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: Active Record Multi-Tenant Tests
|
|
2
|
+
|
|
3
|
+
env:
|
|
4
|
+
CI: true
|
|
5
|
+
on:
|
|
6
|
+
push:
|
|
7
|
+
branches:
|
|
8
|
+
- "**"
|
|
9
|
+
pull_request:
|
|
10
|
+
types: [ opened, reopened, synchronize ]
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
|
|
14
|
+
static-checks:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: ruby/setup-ruby@v1
|
|
18
|
+
with:
|
|
19
|
+
ruby-version: 3.2
|
|
20
|
+
bundler-cache: true
|
|
21
|
+
- uses: actions/checkout@v3
|
|
22
|
+
- name: Rubocop static code analysis
|
|
23
|
+
run: |
|
|
24
|
+
gem install rubocop
|
|
25
|
+
rubocop
|
|
26
|
+
doc_checks:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/setup-python@v4
|
|
30
|
+
with:
|
|
31
|
+
python-version: 3.9
|
|
32
|
+
- uses: actions/checkout@v3
|
|
33
|
+
- name: Install python dependencies
|
|
34
|
+
run: |
|
|
35
|
+
pip install -r docs/requirements.txt
|
|
36
|
+
- name: Documentation Checks
|
|
37
|
+
run: |
|
|
38
|
+
cd docs
|
|
39
|
+
sphinx-build -W -b html source builds
|
|
40
|
+
|
|
41
|
+
build:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
strategy:
|
|
44
|
+
fail-fast: false
|
|
45
|
+
matrix:
|
|
46
|
+
ruby:
|
|
47
|
+
- '3.0'
|
|
48
|
+
- '3.1'
|
|
49
|
+
- '3.2'
|
|
50
|
+
appraisal:
|
|
51
|
+
- rails-6.0
|
|
52
|
+
- rails-6.1
|
|
53
|
+
- rails-7.0
|
|
54
|
+
- active-record-6.0
|
|
55
|
+
- active-record-6.1
|
|
56
|
+
- active-record-7.0
|
|
57
|
+
citus_version:
|
|
58
|
+
- '10'
|
|
59
|
+
- '11'
|
|
60
|
+
|
|
61
|
+
name: Ruby ${{ matrix.ruby }}/${{ matrix.gemfile }} / Citus ${{ matrix.citus_version }}
|
|
62
|
+
env:
|
|
63
|
+
APPRAISAL: ${{ matrix.appraisal }}
|
|
64
|
+
CITUS_VERSION: ${{ matrix.citus_version }}
|
|
65
|
+
steps:
|
|
66
|
+
- uses: actions/checkout@v3
|
|
67
|
+
|
|
68
|
+
- name: Start Citus Database environment
|
|
69
|
+
run: docker-compose up -d
|
|
70
|
+
|
|
71
|
+
- uses: ruby/setup-ruby@v1
|
|
72
|
+
with:
|
|
73
|
+
ruby-version: ${{ matrix.ruby }}
|
|
74
|
+
bundler-cache: true
|
|
75
|
+
|
|
76
|
+
- name: Execute tests
|
|
77
|
+
run: bundle exec rake spec
|
|
78
|
+
|
|
79
|
+
- name: Upload coverage reports to Codecov
|
|
80
|
+
uses: codecov/codecov-action@v3
|
data/.gitignore
CHANGED
data/.readthedocs.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
build:
|
|
4
|
+
os: "ubuntu-22.04"
|
|
5
|
+
tools:
|
|
6
|
+
python: "3.11"
|
|
7
|
+
|
|
8
|
+
# Build from the docs/ directory with Sphinx
|
|
9
|
+
sphinx:
|
|
10
|
+
configuration: docs/source/conf.py
|
|
11
|
+
|
|
12
|
+
# Explicitly set the version of Python and its requirements
|
|
13
|
+
python:
|
|
14
|
+
install:
|
|
15
|
+
- requirements: docs/requirements.txt
|
data/.rspec
CHANGED
|
File without changes
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# This is an example RuboCop configuration file with some commonly used options.
|
|
2
|
+
|
|
3
|
+
# Run RuboCop on all Ruby files, except those in `vendor` and `node_modules` directories
|
|
4
|
+
AllCops:
|
|
5
|
+
Exclude:
|
|
6
|
+
- 'vendor/**/*'
|
|
7
|
+
- 'node_modules/**/*'
|
|
8
|
+
- 'Vagrantfile'
|
|
9
|
+
TargetRubyVersion: 3.0
|
|
10
|
+
|
|
11
|
+
Style/FrozenStringLiteralComment:
|
|
12
|
+
Enabled: false
|
|
13
|
+
|
|
14
|
+
Style/Documentation:
|
|
15
|
+
Exclude:
|
|
16
|
+
- '**/*.rb'
|
|
17
|
+
Enabled: false
|
|
18
|
+
|
|
19
|
+
Lint/ConstantDefinitionInBlock:
|
|
20
|
+
Enabled: false
|
|
21
|
+
|
|
22
|
+
Style/ClassAndModuleChildren:
|
|
23
|
+
Enabled: false
|
|
24
|
+
|
|
25
|
+
Metrics/BlockLength:
|
|
26
|
+
Max: 650
|
|
27
|
+
|
|
28
|
+
Metrics/MethodLength:
|
|
29
|
+
Max: 150
|
|
30
|
+
|
|
31
|
+
Metrics/ClassLength:
|
|
32
|
+
Max: 200
|
|
33
|
+
|
|
34
|
+
Metrics/ModuleLength:
|
|
35
|
+
Max: 200
|
|
36
|
+
|
|
37
|
+
Metrics/AbcSize:
|
|
38
|
+
Enabled: false
|
|
39
|
+
|
|
40
|
+
Metrics/PerceivedComplexity:
|
|
41
|
+
Enabled: false
|
|
42
|
+
|
|
43
|
+
Metrics/CyclomaticComplexity:
|
|
44
|
+
Enabled: false
|
|
45
|
+
|
|
46
|
+
Metrics/BlockNesting:
|
|
47
|
+
Enabled: false
|
|
48
|
+
|
|
49
|
+
Naming/FileName:
|
|
50
|
+
Exclude:
|
|
51
|
+
- 'lib/activerecord-multi-tenant.rb'
|
data/Appraisals
CHANGED
|
File without changes
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
## 2.3.0 2023-06-05
|
|
3
|
+
* Adds has_and_belongs_to_many feature with tenant (#193)
|
|
4
|
+
* Removes eol ruby versions
|
|
5
|
+
* Adds documentation in ReadTheDocs platform (#196)
|
|
6
|
+
* Organizes badges in documentation and README.md (#197)
|
|
7
|
+
* Wrap ActiveRecord::Base with ActiveSupport.on_load (#199)
|
|
2
8
|
|
|
3
9
|
## 2.2.0 2022-12-06
|
|
4
10
|
* Handle changing tenant from `nil` to a value [#173](https://github.com/citusdata/activerecord-multi-tenant/pull/173)
|
data/Gemfile
CHANGED
data/LICENSE
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
# activerecord-multi-tenant
|
|
1
|
+
# activerecord-multi-tenant
|
|
2
|
+
[](https://github.com/citusdata/activerecord-multi-tenant/actions/workflows/active-record-multi-tenant-tests.yml) [](https://codecov.io/gh/citusdata/activerecord-multi-tenant) [ ](https://rubygems.org/gems/activerecord-multi-tenant)[ ](https://rubygems.org/gems/activerecord-multi-tenant) [](https://activerecord-multi-tenant.readthedocs.io/en/latest/?badge=latest)
|
|
2
3
|
|
|
3
4
|
Introduction Post: https://www.citusdata.com/blog/2017/01/05/easily-scale-out-multi-tenant-apps/
|
|
4
5
|
|
data/Rakefile
CHANGED
|
@@ -1,28 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
|
2
2
|
require 'activerecord-multi-tenant/version'
|
|
3
3
|
|
|
4
|
-
Gem::Specification.new do |
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
Gem::Specification.new do |spec|
|
|
5
|
+
spec.name = 'activerecord-multi-tenant'
|
|
6
|
+
spec.version = MultiTenant::VERSION
|
|
7
|
+
spec.summary = 'ActiveRecord/Rails integration for multi-tenant databases, '\
|
|
8
|
+
'in particular the Citus extension for PostgreSQL'
|
|
9
|
+
spec.description = ''
|
|
10
|
+
spec.authors = ['Citus Data']
|
|
11
|
+
spec.email = 'engage@citusdata.com'
|
|
12
|
+
spec.required_ruby_version = '>= 3.0.0'
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
spec.files = `git ls-files`.split("\n")
|
|
15
|
+
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
|
16
|
+
spec.require_paths = ['lib']
|
|
17
|
+
spec.homepage = 'https://github.com/citusdata/activerecord-multi-tenant'
|
|
18
|
+
spec.license = 'MIT'
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
spec.add_dependency 'rails', '>= 6'
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
spec.add_development_dependency 'anbt-sql-formatter'
|
|
23
|
+
spec.add_development_dependency 'codecov'
|
|
24
|
+
spec.add_development_dependency 'pg'
|
|
25
|
+
spec.add_development_dependency 'pry'
|
|
26
|
+
spec.add_development_dependency 'pry-byebug'
|
|
27
|
+
spec.add_development_dependency 'rake'
|
|
28
|
+
spec.add_development_dependency 'rspec', '>= 3.0'
|
|
29
|
+
spec.add_development_dependency 'rspec-rails'
|
|
30
|
+
spec.add_development_dependency 'rubocop'
|
|
31
|
+
spec.add_development_dependency 'sidekiq'
|
|
32
|
+
|
|
33
|
+
spec.add_development_dependency 'thor'
|
|
28
34
|
end
|
data/docker-compose.yml
CHANGED
|
@@ -2,25 +2,31 @@ version: '2.1'
|
|
|
2
2
|
|
|
3
3
|
services:
|
|
4
4
|
master:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
volumes: ['/var/run/docker.sock:/var/run/docker.sock']
|
|
13
|
-
depends_on: { master: { condition: service_healthy } }
|
|
5
|
+
container_name: "${COMPOSE_PROJECT_NAME:-citus}_master"
|
|
6
|
+
image: 'citusdata/citus:${CITUS_VERSION:-11.2}'
|
|
7
|
+
ports: [ '5600:5432' ]
|
|
8
|
+
labels: [ 'com.citusdata.role=Master' ]
|
|
9
|
+
environment:
|
|
10
|
+
- POSTGRES_HOST_AUTH_METHOD=trust
|
|
11
|
+
command: -c fsync=off -c full_page_writes=off
|
|
14
12
|
worker1:
|
|
15
|
-
image: 'citusdata/citus
|
|
16
|
-
|
|
13
|
+
image: 'citusdata/citus:${CITUS_VERSION:-11.2}'
|
|
14
|
+
ports: [ '5601:5432' ]
|
|
15
|
+
labels: [ 'com.citusdata.role=Worker' ]
|
|
17
16
|
depends_on: { manager: { condition: service_healthy } }
|
|
17
|
+
environment:
|
|
18
|
+
- POSTGRES_HOST_AUTH_METHOD=trust
|
|
19
|
+
command: -c fsync=off -c full_page_writes=off
|
|
18
20
|
worker2:
|
|
19
|
-
image: 'citusdata/citus
|
|
20
|
-
|
|
21
|
+
image: 'citusdata/citus:${CITUS_VERSION:-11.2}'
|
|
22
|
+
ports: [ '5602:5432' ]
|
|
23
|
+
labels: [ 'com.citusdata.role=Worker' ]
|
|
21
24
|
depends_on: { manager: { condition: service_healthy } }
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
environment:
|
|
26
|
+
- POSTGRES_HOST_AUTH_METHOD=trust
|
|
27
|
+
command: -c fsync=off -c full_page_writes=off
|
|
28
|
+
manager:
|
|
29
|
+
container_name: "${COMPOSE_PROJECT_NAME:-citus}_manager"
|
|
30
|
+
image: 'citusdata/membership-manager:0.2.0'
|
|
31
|
+
volumes: [ '/var/run/docker.sock:/var/run/docker.sock' ]
|
|
32
|
+
depends_on: { master: { condition: service_healthy } }
|
data/docs/.gitignore
ADDED
data/docs/Makefile
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line, and also
|
|
5
|
+
# from the environment for the first two.
|
|
6
|
+
SPHINXOPTS ?=
|
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
|
8
|
+
SOURCEDIR = source
|
|
9
|
+
BUILDDIR = build
|
|
10
|
+
|
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
|
12
|
+
help:
|
|
13
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
14
|
+
|
|
15
|
+
.PHONY: help Makefile
|
|
16
|
+
|
|
17
|
+
# New target that executes the bash script before calling the original target
|
|
18
|
+
build-docs: pre-build # Change 'html' to the target you want to execute
|
|
19
|
+
|
|
20
|
+
pre-build:
|
|
21
|
+
# Execute your bash script here
|
|
22
|
+
bash api-reference.sh
|
|
23
|
+
|
|
24
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
25
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
26
|
+
html:
|
|
27
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
28
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# This script is used to generate the API reference documentation for the
|
|
4
|
+
# project. It is intended to be run from the root of the project directory.
|
|
5
|
+
# It requires the following tools to be installed:
|
|
6
|
+
# - yard (gem install yard)
|
|
7
|
+
echo "Generating API reference documentation..."
|
|
8
|
+
echo "Pwd: $(pwd)"
|
|
9
|
+
cd ..
|
|
10
|
+
yard doc --output-dir docs/source/_static/api-reference
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#
|
|
2
|
+
# This file is autogenerated by pip-compile with Python 3.10
|
|
3
|
+
# by the following command:
|
|
4
|
+
#
|
|
5
|
+
# pip-compile requirements.in
|
|
6
|
+
#
|
|
7
|
+
alabaster==0.7.13
|
|
8
|
+
# via sphinx
|
|
9
|
+
babel==2.12.1
|
|
10
|
+
# via sphinx
|
|
11
|
+
certifi==2023.5.7
|
|
12
|
+
# via requests
|
|
13
|
+
charset-normalizer==3.1.0
|
|
14
|
+
# via requests
|
|
15
|
+
docutils==0.18.1
|
|
16
|
+
# via
|
|
17
|
+
# sphinx
|
|
18
|
+
# sphinx-rtd-theme
|
|
19
|
+
idna==3.4
|
|
20
|
+
# via requests
|
|
21
|
+
imagesize==1.4.1
|
|
22
|
+
# via sphinx
|
|
23
|
+
jinja2==3.1.2
|
|
24
|
+
# via sphinx
|
|
25
|
+
markupsafe==2.1.2
|
|
26
|
+
# via jinja2
|
|
27
|
+
packaging==23.1
|
|
28
|
+
# via sphinx
|
|
29
|
+
pygments==2.15.1
|
|
30
|
+
# via sphinx
|
|
31
|
+
readthedocs-sphinx-search==0.3.1
|
|
32
|
+
# via -r requirements.in
|
|
33
|
+
requests==2.31.0
|
|
34
|
+
# via sphinx
|
|
35
|
+
snowballstemmer==2.2.0
|
|
36
|
+
# via sphinx
|
|
37
|
+
sphinx==6.2.1
|
|
38
|
+
# via
|
|
39
|
+
# -r requirements.in
|
|
40
|
+
# sphinx-rtd-theme
|
|
41
|
+
# sphinxcontrib-jquery
|
|
42
|
+
# sphinxnotes-strike
|
|
43
|
+
sphinx-rtd-theme==1.2.1
|
|
44
|
+
# via -r requirements.in
|
|
45
|
+
sphinxcontrib-applehelp==1.0.4
|
|
46
|
+
# via sphinx
|
|
47
|
+
sphinxcontrib-devhelp==1.0.2
|
|
48
|
+
# via sphinx
|
|
49
|
+
sphinxcontrib-htmlhelp==2.0.1
|
|
50
|
+
# via sphinx
|
|
51
|
+
sphinxcontrib-jquery==4.1
|
|
52
|
+
# via sphinx-rtd-theme
|
|
53
|
+
sphinxcontrib-jsmath==1.0.1
|
|
54
|
+
# via sphinx
|
|
55
|
+
sphinxcontrib-qthelp==1.0.3
|
|
56
|
+
# via sphinx
|
|
57
|
+
sphinxcontrib-serializinghtml==1.1.5
|
|
58
|
+
# via sphinx
|
|
59
|
+
sphinxnotes-strike==1.2
|
|
60
|
+
# via -r requirements.in
|
|
61
|
+
urllib3==2.0.2
|
|
62
|
+
# via requests
|