pgmq-ruby 0.4.0 → 0.6.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/CHANGELOG.md +49 -1
- data/README.md +220 -11
- data/lib/pgmq/client/consumer.rb +80 -7
- data/lib/pgmq/client/maintenance.rb +4 -21
- data/lib/pgmq/client/message_lifecycle.rb +69 -44
- data/lib/pgmq/client/metrics.rb +2 -2
- data/lib/pgmq/client/multi_queue.rb +9 -9
- data/lib/pgmq/client/producer.rb +7 -7
- data/lib/pgmq/client/queue_management.rb +9 -9
- data/lib/pgmq/client/topics.rb +268 -0
- data/lib/pgmq/client.rb +13 -12
- data/lib/pgmq/connection.rb +35 -12
- data/lib/pgmq/message.rb +11 -9
- data/lib/pgmq/metrics.rb +7 -7
- data/lib/pgmq/queue_metadata.rb +7 -7
- data/lib/pgmq/version.rb +1 -1
- data/lib/pgmq.rb +3 -3
- data/pgmq-ruby.gemspec +21 -21
- metadata +4 -15
- data/.coditsu/ci.yml +0 -3
- data/.github/workflows/ci.yml +0 -163
- data/.github/workflows/push.yml +0 -35
- data/.gitignore +0 -67
- data/.rspec +0 -1
- data/.ruby-version +0 -1
- data/.yard-lint.yml +0 -275
- data/Gemfile +0 -15
- data/Gemfile.lock +0 -65
- data/Rakefile +0 -4
- data/docker-compose.yml +0 -22
- data/renovate.json +0 -11
data/.github/workflows/ci.yml
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
concurrency:
|
|
4
|
-
group: ${{ github.workflow }}-${{ github.ref }}
|
|
5
|
-
cancel-in-progress: true
|
|
6
|
-
|
|
7
|
-
on:
|
|
8
|
-
pull_request:
|
|
9
|
-
branches: [ master ]
|
|
10
|
-
schedule:
|
|
11
|
-
- cron: '0 1 * * *'
|
|
12
|
-
|
|
13
|
-
permissions:
|
|
14
|
-
contents: read
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
specs:
|
|
18
|
-
timeout-minutes: 15
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
strategy:
|
|
21
|
-
fail-fast: false
|
|
22
|
-
matrix:
|
|
23
|
-
ruby:
|
|
24
|
-
- '4.0.0'
|
|
25
|
-
- '3.4'
|
|
26
|
-
- '3.3'
|
|
27
|
-
- '3.2'
|
|
28
|
-
postgres:
|
|
29
|
-
- '14'
|
|
30
|
-
- '15'
|
|
31
|
-
- '16'
|
|
32
|
-
- '17'
|
|
33
|
-
- '18'
|
|
34
|
-
include:
|
|
35
|
-
- ruby: '3.4'
|
|
36
|
-
postgres: '18'
|
|
37
|
-
coverage: 'true'
|
|
38
|
-
|
|
39
|
-
services:
|
|
40
|
-
postgres:
|
|
41
|
-
image: ghcr.io/pgmq/pg${{ matrix.postgres }}-pgmq:latest
|
|
42
|
-
env:
|
|
43
|
-
POSTGRES_USER: postgres
|
|
44
|
-
POSTGRES_PASSWORD: postgres
|
|
45
|
-
POSTGRES_DB: pgmq_test
|
|
46
|
-
options: >-
|
|
47
|
-
--health-cmd pg_isready
|
|
48
|
-
--health-interval 10s
|
|
49
|
-
--health-timeout 5s
|
|
50
|
-
--health-retries 5
|
|
51
|
-
ports:
|
|
52
|
-
- 5433:5432
|
|
53
|
-
|
|
54
|
-
steps:
|
|
55
|
-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
56
|
-
with:
|
|
57
|
-
fetch-depth: 0
|
|
58
|
-
|
|
59
|
-
- name: Install package dependencies
|
|
60
|
-
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends postgresql-client"
|
|
61
|
-
|
|
62
|
-
- name: Remove Gemfile.lock for Ruby previews
|
|
63
|
-
if: contains(matrix.ruby, '4.0')
|
|
64
|
-
run: rm -f Gemfile.lock
|
|
65
|
-
|
|
66
|
-
- name: Set up Ruby
|
|
67
|
-
uses: ruby/setup-ruby@ae195bbe749a7cef685ac729197124a48305c1cb # v1.276.0
|
|
68
|
-
with:
|
|
69
|
-
ruby-version: ${{ matrix.ruby }}
|
|
70
|
-
bundler-cache: true
|
|
71
|
-
bundler: 'latest'
|
|
72
|
-
self-hosted: false
|
|
73
|
-
|
|
74
|
-
- name: Wait for PostgreSQL
|
|
75
|
-
run: sleep 5
|
|
76
|
-
|
|
77
|
-
- name: Install latest bundler
|
|
78
|
-
run: |
|
|
79
|
-
gem install bundler --no-document
|
|
80
|
-
gem update --system --no-document
|
|
81
|
-
bundle config set without 'tools benchmarks docs'
|
|
82
|
-
|
|
83
|
-
- name: Bundle install
|
|
84
|
-
run: |
|
|
85
|
-
bundle config set without development
|
|
86
|
-
bundle install --jobs 4 --retry 3
|
|
87
|
-
|
|
88
|
-
- name: Create PGMQ extension
|
|
89
|
-
env:
|
|
90
|
-
PGPASSWORD: postgres
|
|
91
|
-
run: |
|
|
92
|
-
psql -h localhost -p 5433 -U postgres -d pgmq_test -c "CREATE EXTENSION IF NOT EXISTS pgmq CASCADE;"
|
|
93
|
-
|
|
94
|
-
- name: Run all tests
|
|
95
|
-
env:
|
|
96
|
-
PG_HOST: localhost
|
|
97
|
-
PG_PORT: 5433
|
|
98
|
-
PG_DATABASE: pgmq_test
|
|
99
|
-
PG_USER: postgres
|
|
100
|
-
PG_PASSWORD: postgres
|
|
101
|
-
CI: true
|
|
102
|
-
GITHUB_COVERAGE: ${{ matrix.coverage }}
|
|
103
|
-
run: bundle exec rspec
|
|
104
|
-
|
|
105
|
-
yard-lint:
|
|
106
|
-
timeout-minutes: 5
|
|
107
|
-
runs-on: ubuntu-latest
|
|
108
|
-
strategy:
|
|
109
|
-
fail-fast: false
|
|
110
|
-
steps:
|
|
111
|
-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
112
|
-
with:
|
|
113
|
-
fetch-depth: 0
|
|
114
|
-
- name: Remove Gemfile.lock for Ruby 4.0
|
|
115
|
-
run: rm -f Gemfile.lock
|
|
116
|
-
- name: Set up Ruby
|
|
117
|
-
uses: ruby/setup-ruby@ae195bbe749a7cef685ac729197124a48305c1cb # v1.276.0
|
|
118
|
-
with:
|
|
119
|
-
ruby-version: '4.0.0'
|
|
120
|
-
bundler-cache: true
|
|
121
|
-
- name: Run yard-lint
|
|
122
|
-
run: bundle exec yard-lint lib/
|
|
123
|
-
|
|
124
|
-
coditsu:
|
|
125
|
-
timeout-minutes: 5
|
|
126
|
-
runs-on: ubuntu-latest
|
|
127
|
-
strategy:
|
|
128
|
-
fail-fast: false
|
|
129
|
-
steps:
|
|
130
|
-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
131
|
-
with:
|
|
132
|
-
fetch-depth: 0
|
|
133
|
-
- name: Download Coditsu script
|
|
134
|
-
run: |
|
|
135
|
-
curl -sSL https://api.coditsu.io/run/ci -o coditsu_script.sh
|
|
136
|
-
chmod +x coditsu_script.sh
|
|
137
|
-
- name: Verify Coditsu script checksum
|
|
138
|
-
run: |
|
|
139
|
-
EXPECTED_SHA256="0aecc5aa010f53fca264548a41467a2b0a1208d750ce1da3e98a217304cacbbc"
|
|
140
|
-
ACTUAL_SHA256=$(sha256sum coditsu_script.sh | awk '{ print $1 }')
|
|
141
|
-
if [ "$ACTUAL_SHA256" != "$EXPECTED_SHA256" ]; then
|
|
142
|
-
echo "::error::Checksum verification failed. Expected $EXPECTED_SHA256 but got $ACTUAL_SHA256."
|
|
143
|
-
exit 1
|
|
144
|
-
fi
|
|
145
|
-
- name: Run Coditsu
|
|
146
|
-
run: ./coditsu_script.sh
|
|
147
|
-
|
|
148
|
-
ci-success:
|
|
149
|
-
name: CI Success
|
|
150
|
-
runs-on: ubuntu-latest
|
|
151
|
-
if: always()
|
|
152
|
-
needs:
|
|
153
|
-
- coditsu
|
|
154
|
-
- specs
|
|
155
|
-
- yard-lint
|
|
156
|
-
steps:
|
|
157
|
-
- name: Check all jobs passed
|
|
158
|
-
if: |
|
|
159
|
-
contains(needs.*.result, 'failure') ||
|
|
160
|
-
contains(needs.*.result, 'cancelled') ||
|
|
161
|
-
contains(needs.*.result, 'skipped')
|
|
162
|
-
run: exit 1
|
|
163
|
-
- run: echo "All CI checks passed!"
|
data/.github/workflows/push.yml
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: Push Gem
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- v*
|
|
7
|
-
|
|
8
|
-
permissions:
|
|
9
|
-
contents: read
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
push:
|
|
13
|
-
if: github.repository_owner == 'mensfeld'
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
environment: deployment
|
|
16
|
-
|
|
17
|
-
permissions:
|
|
18
|
-
contents: write
|
|
19
|
-
id-token: write
|
|
20
|
-
|
|
21
|
-
steps:
|
|
22
|
-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
23
|
-
with:
|
|
24
|
-
fetch-depth: 0
|
|
25
|
-
|
|
26
|
-
- name: Set up Ruby
|
|
27
|
-
uses: ruby/setup-ruby@ae195bbe749a7cef685ac729197124a48305c1cb # v1.276.0
|
|
28
|
-
with:
|
|
29
|
-
bundler-cache: false
|
|
30
|
-
|
|
31
|
-
- name: Bundle install
|
|
32
|
-
run: |
|
|
33
|
-
bundle install --jobs 4 --retry 3
|
|
34
|
-
|
|
35
|
-
- uses: rubygems/release-gem@1c162a739e8b4cb21a676e97b087e8268d8fc40b # v1.1.2
|
data/.gitignore
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
*.gem
|
|
2
|
-
*.rbc
|
|
3
|
-
/.config
|
|
4
|
-
/coverage/
|
|
5
|
-
/InstalledFiles
|
|
6
|
-
/pkg/
|
|
7
|
-
/spec/reports/
|
|
8
|
-
/spec/examples.txt
|
|
9
|
-
/test/tmp/
|
|
10
|
-
/test/version_tmp/
|
|
11
|
-
/tmp/
|
|
12
|
-
|
|
13
|
-
# Used by dotenv library to load environment variables.
|
|
14
|
-
# .env
|
|
15
|
-
|
|
16
|
-
# Ignore Byebug command history file.
|
|
17
|
-
.byebug_history
|
|
18
|
-
|
|
19
|
-
## Specific to RubyMotion:
|
|
20
|
-
.dat*
|
|
21
|
-
.repl_history
|
|
22
|
-
build/
|
|
23
|
-
*.bridgesupport
|
|
24
|
-
build-iPhoneOS/
|
|
25
|
-
build-iPhoneSimulator/
|
|
26
|
-
|
|
27
|
-
## Specific to RubyMotion (use of CocoaPods):
|
|
28
|
-
#
|
|
29
|
-
# We recommend against adding the Pods directory to your .gitignore. However
|
|
30
|
-
# you should judge for yourself, the pros and cons are mentioned at:
|
|
31
|
-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
|
32
|
-
#
|
|
33
|
-
# vendor/Pods/
|
|
34
|
-
|
|
35
|
-
## Documentation cache and generated files:
|
|
36
|
-
/.yardoc/
|
|
37
|
-
/_yardoc/
|
|
38
|
-
/doc/
|
|
39
|
-
/rdoc/
|
|
40
|
-
|
|
41
|
-
## RSpec test status file
|
|
42
|
-
.rspec_status
|
|
43
|
-
|
|
44
|
-
## Environment normalization:
|
|
45
|
-
/.bundle/
|
|
46
|
-
/vendor/bundle
|
|
47
|
-
/lib/bundler/man/
|
|
48
|
-
|
|
49
|
-
# for a library or gem, you might want to ignore these files since the code is
|
|
50
|
-
# intended to run in multiple environments; otherwise, check them in:
|
|
51
|
-
# Gemfile.lock
|
|
52
|
-
# .ruby-version
|
|
53
|
-
# .ruby-gemset
|
|
54
|
-
|
|
55
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
56
|
-
.rvmrc
|
|
57
|
-
|
|
58
|
-
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
|
|
59
|
-
# .rubocop-https?--*
|
|
60
|
-
|
|
61
|
-
.DS_Store
|
|
62
|
-
|
|
63
|
-
## Claude Code settings (user-specific)
|
|
64
|
-
.claude/
|
|
65
|
-
|
|
66
|
-
## Coditsu configuration (user-specific)
|
|
67
|
-
.coditsu/local.yml
|
data/.rspec
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
--require spec_helper
|
data/.ruby-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.0.0
|
data/.yard-lint.yml
DELETED
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
# YARD-Lint Configuration
|
|
2
|
-
# See https://github.com/mensfeld/yard-lint for documentation
|
|
3
|
-
|
|
4
|
-
# Global settings for all validators
|
|
5
|
-
AllValidators:
|
|
6
|
-
YardOptions:
|
|
7
|
-
- "--private"
|
|
8
|
-
- "--protected"
|
|
9
|
-
Exclude:
|
|
10
|
-
- "\\.git"
|
|
11
|
-
- vendor/**/*
|
|
12
|
-
- node_modules/**/*
|
|
13
|
-
- spec/**/*
|
|
14
|
-
- test/**/*
|
|
15
|
-
- benchmark/**/*
|
|
16
|
-
FailOnSeverity: convention
|
|
17
|
-
RequiredCoverage: 100
|
|
18
|
-
|
|
19
|
-
# Documentation validators
|
|
20
|
-
Documentation/UndocumentedObjects:
|
|
21
|
-
Description: Checks for classes, modules, and methods without documentation.
|
|
22
|
-
Enabled: true
|
|
23
|
-
Severity: error
|
|
24
|
-
ExcludedMethods:
|
|
25
|
-
- initialize/0
|
|
26
|
-
- "/^_/"
|
|
27
|
-
|
|
28
|
-
Documentation/UndocumentedMethodArguments:
|
|
29
|
-
Description: Checks for method parameters without @param tags.
|
|
30
|
-
Enabled: true
|
|
31
|
-
Severity: error
|
|
32
|
-
|
|
33
|
-
Documentation/UndocumentedBooleanMethods:
|
|
34
|
-
Description: Checks that question mark methods document their boolean return.
|
|
35
|
-
Enabled: true
|
|
36
|
-
Severity: error
|
|
37
|
-
|
|
38
|
-
Documentation/UndocumentedOptions:
|
|
39
|
-
Description: Detects methods with options hash parameters but no @option tags.
|
|
40
|
-
Enabled: true
|
|
41
|
-
Severity: error
|
|
42
|
-
|
|
43
|
-
Documentation/MarkdownSyntax:
|
|
44
|
-
Description: Detects common markdown syntax errors in documentation.
|
|
45
|
-
Enabled: true
|
|
46
|
-
Severity: error
|
|
47
|
-
|
|
48
|
-
Documentation/EmptyCommentLine:
|
|
49
|
-
Description: Detects empty comment lines at the start or end of documentation blocks.
|
|
50
|
-
Enabled: true
|
|
51
|
-
Severity: convention
|
|
52
|
-
EnabledPatterns:
|
|
53
|
-
Leading: true
|
|
54
|
-
Trailing: true
|
|
55
|
-
|
|
56
|
-
Documentation/BlankLineBeforeDefinition:
|
|
57
|
-
Description: Detects blank lines between YARD documentation and method definition.
|
|
58
|
-
Enabled: true
|
|
59
|
-
Severity: convention
|
|
60
|
-
OrphanedSeverity: convention
|
|
61
|
-
EnabledPatterns:
|
|
62
|
-
SingleBlankLine: true
|
|
63
|
-
OrphanedDocs: true
|
|
64
|
-
|
|
65
|
-
# Tags validators
|
|
66
|
-
Tags/Order:
|
|
67
|
-
Description: Enforces consistent ordering of YARD tags.
|
|
68
|
-
Enabled: true
|
|
69
|
-
Severity: error
|
|
70
|
-
EnforcedOrder:
|
|
71
|
-
- param
|
|
72
|
-
- option
|
|
73
|
-
- return
|
|
74
|
-
- raise
|
|
75
|
-
- example
|
|
76
|
-
|
|
77
|
-
Tags/InvalidTypes:
|
|
78
|
-
Description: Validates type definitions in @param, @return, @option tags.
|
|
79
|
-
Enabled: true
|
|
80
|
-
Severity: error
|
|
81
|
-
ValidatedTags:
|
|
82
|
-
- param
|
|
83
|
-
- option
|
|
84
|
-
- return
|
|
85
|
-
|
|
86
|
-
Tags/TypeSyntax:
|
|
87
|
-
Description: Validates YARD type syntax using YARD parser.
|
|
88
|
-
Enabled: true
|
|
89
|
-
Severity: error
|
|
90
|
-
ValidatedTags:
|
|
91
|
-
- param
|
|
92
|
-
- option
|
|
93
|
-
- return
|
|
94
|
-
- yieldreturn
|
|
95
|
-
|
|
96
|
-
Tags/MeaninglessTag:
|
|
97
|
-
Description: Detects @param/@option tags on classes, modules, or constants.
|
|
98
|
-
Enabled: true
|
|
99
|
-
Severity: error
|
|
100
|
-
CheckedTags:
|
|
101
|
-
- param
|
|
102
|
-
- option
|
|
103
|
-
InvalidObjectTypes:
|
|
104
|
-
- class
|
|
105
|
-
- module
|
|
106
|
-
- constant
|
|
107
|
-
|
|
108
|
-
Tags/CollectionType:
|
|
109
|
-
Description: Validates Hash collection syntax consistency.
|
|
110
|
-
Enabled: true
|
|
111
|
-
Severity: error
|
|
112
|
-
EnforcedStyle: long
|
|
113
|
-
ValidatedTags:
|
|
114
|
-
- param
|
|
115
|
-
- option
|
|
116
|
-
- return
|
|
117
|
-
- yieldreturn
|
|
118
|
-
|
|
119
|
-
Tags/TagTypePosition:
|
|
120
|
-
Description: Validates type annotation position in tags.
|
|
121
|
-
Enabled: true
|
|
122
|
-
Severity: error
|
|
123
|
-
CheckedTags:
|
|
124
|
-
- param
|
|
125
|
-
- option
|
|
126
|
-
EnforcedStyle: type_after_name
|
|
127
|
-
|
|
128
|
-
Tags/ApiTags:
|
|
129
|
-
Description: Enforces @api tags on public objects.
|
|
130
|
-
Enabled: false
|
|
131
|
-
Severity: error
|
|
132
|
-
AllowedApis:
|
|
133
|
-
- public
|
|
134
|
-
- private
|
|
135
|
-
- internal
|
|
136
|
-
|
|
137
|
-
Tags/OptionTags:
|
|
138
|
-
Description: Requires @option tags for methods with options parameters.
|
|
139
|
-
Enabled: true
|
|
140
|
-
Severity: error
|
|
141
|
-
|
|
142
|
-
Tags/ExampleSyntax:
|
|
143
|
-
Description: Validates Ruby syntax in @example tags.
|
|
144
|
-
Enabled: true
|
|
145
|
-
Severity: warning
|
|
146
|
-
|
|
147
|
-
Tags/RedundantParamDescription:
|
|
148
|
-
Description: Detects meaningless parameter descriptions that add no value.
|
|
149
|
-
Enabled: true
|
|
150
|
-
Severity: convention
|
|
151
|
-
CheckedTags:
|
|
152
|
-
- param
|
|
153
|
-
- option
|
|
154
|
-
Articles:
|
|
155
|
-
- The
|
|
156
|
-
- the
|
|
157
|
-
- A
|
|
158
|
-
- a
|
|
159
|
-
- An
|
|
160
|
-
- an
|
|
161
|
-
MaxRedundantWords: 6
|
|
162
|
-
GenericTerms:
|
|
163
|
-
- object
|
|
164
|
-
- instance
|
|
165
|
-
- value
|
|
166
|
-
- data
|
|
167
|
-
- item
|
|
168
|
-
- element
|
|
169
|
-
EnabledPatterns:
|
|
170
|
-
ArticleParam: true
|
|
171
|
-
PossessiveParam: true
|
|
172
|
-
TypeRestatement: true
|
|
173
|
-
ParamToVerb: true
|
|
174
|
-
IdPattern: true
|
|
175
|
-
DirectionalDate: true
|
|
176
|
-
TypeGeneric: true
|
|
177
|
-
|
|
178
|
-
Tags/InformalNotation:
|
|
179
|
-
Description: Detects informal tag notation patterns like "Note:" instead of @note.
|
|
180
|
-
Enabled: true
|
|
181
|
-
Severity: warning
|
|
182
|
-
CaseSensitive: false
|
|
183
|
-
RequireStartOfLine: true
|
|
184
|
-
Patterns:
|
|
185
|
-
Note: "@note"
|
|
186
|
-
Todo: "@todo"
|
|
187
|
-
TODO: "@todo"
|
|
188
|
-
FIXME: "@todo"
|
|
189
|
-
See: "@see"
|
|
190
|
-
See also: "@see"
|
|
191
|
-
Warning: "@deprecated"
|
|
192
|
-
Deprecated: "@deprecated"
|
|
193
|
-
Author: "@author"
|
|
194
|
-
Version: "@version"
|
|
195
|
-
Since: "@since"
|
|
196
|
-
Returns: "@return"
|
|
197
|
-
Raises: "@raise"
|
|
198
|
-
Example: "@example"
|
|
199
|
-
|
|
200
|
-
Tags/NonAsciiType:
|
|
201
|
-
Description: Detects non-ASCII characters in type annotations.
|
|
202
|
-
Enabled: true
|
|
203
|
-
Severity: warning
|
|
204
|
-
ValidatedTags:
|
|
205
|
-
- param
|
|
206
|
-
- option
|
|
207
|
-
- return
|
|
208
|
-
- yieldreturn
|
|
209
|
-
- yieldparam
|
|
210
|
-
|
|
211
|
-
Tags/TagGroupSeparator:
|
|
212
|
-
Description: Enforces blank line separators between different YARD tag groups.
|
|
213
|
-
Enabled: false
|
|
214
|
-
Severity: convention
|
|
215
|
-
TagGroups:
|
|
216
|
-
param:
|
|
217
|
-
- param
|
|
218
|
-
- option
|
|
219
|
-
return:
|
|
220
|
-
- return
|
|
221
|
-
error:
|
|
222
|
-
- raise
|
|
223
|
-
- throws
|
|
224
|
-
example:
|
|
225
|
-
- example
|
|
226
|
-
meta:
|
|
227
|
-
- see
|
|
228
|
-
- note
|
|
229
|
-
- todo
|
|
230
|
-
- deprecated
|
|
231
|
-
- since
|
|
232
|
-
- version
|
|
233
|
-
- api
|
|
234
|
-
yield:
|
|
235
|
-
- yield
|
|
236
|
-
- yieldparam
|
|
237
|
-
- yieldreturn
|
|
238
|
-
RequireAfterDescription: false
|
|
239
|
-
|
|
240
|
-
# Warnings validators - catches YARD parser errors
|
|
241
|
-
Warnings/UnknownTag:
|
|
242
|
-
Description: Detects unknown YARD tags.
|
|
243
|
-
Enabled: true
|
|
244
|
-
Severity: error
|
|
245
|
-
|
|
246
|
-
Warnings/UnknownDirective:
|
|
247
|
-
Description: Detects unknown YARD directives.
|
|
248
|
-
Enabled: true
|
|
249
|
-
Severity: error
|
|
250
|
-
|
|
251
|
-
Warnings/InvalidTagFormat:
|
|
252
|
-
Description: Detects malformed tag syntax.
|
|
253
|
-
Enabled: true
|
|
254
|
-
Severity: error
|
|
255
|
-
|
|
256
|
-
Warnings/InvalidDirectiveFormat:
|
|
257
|
-
Description: Detects malformed directive syntax.
|
|
258
|
-
Enabled: true
|
|
259
|
-
Severity: error
|
|
260
|
-
|
|
261
|
-
Warnings/DuplicatedParameterName:
|
|
262
|
-
Description: Detects duplicate @param tags.
|
|
263
|
-
Enabled: true
|
|
264
|
-
Severity: error
|
|
265
|
-
|
|
266
|
-
Warnings/UnknownParameterName:
|
|
267
|
-
Description: Detects @param tags for non-existent parameters.
|
|
268
|
-
Enabled: true
|
|
269
|
-
Severity: error
|
|
270
|
-
|
|
271
|
-
# Semantic validators
|
|
272
|
-
Semantic/AbstractMethods:
|
|
273
|
-
Description: Ensures @abstract methods do not have real implementations.
|
|
274
|
-
Enabled: true
|
|
275
|
-
Severity: error
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
pgmq-ruby (0.4.0)
|
|
5
|
-
connection_pool (~> 2.4)
|
|
6
|
-
pg (~> 1.5)
|
|
7
|
-
zeitwerk (~> 2.6)
|
|
8
|
-
|
|
9
|
-
GEM
|
|
10
|
-
remote: https://rubygems.org/
|
|
11
|
-
specs:
|
|
12
|
-
connection_pool (2.5.4)
|
|
13
|
-
diff-lcs (1.6.2)
|
|
14
|
-
docile (1.4.1)
|
|
15
|
-
pg (1.6.2)
|
|
16
|
-
pg (1.6.2-aarch64-linux)
|
|
17
|
-
pg (1.6.2-aarch64-linux-musl)
|
|
18
|
-
pg (1.6.2-arm64-darwin)
|
|
19
|
-
pg (1.6.2-x86_64-darwin)
|
|
20
|
-
pg (1.6.2-x86_64-linux)
|
|
21
|
-
pg (1.6.2-x86_64-linux-musl)
|
|
22
|
-
rake (13.3.1)
|
|
23
|
-
rspec (3.13.2)
|
|
24
|
-
rspec-core (~> 3.13.0)
|
|
25
|
-
rspec-expectations (~> 3.13.0)
|
|
26
|
-
rspec-mocks (~> 3.13.0)
|
|
27
|
-
rspec-core (3.13.6)
|
|
28
|
-
rspec-support (~> 3.13.0)
|
|
29
|
-
rspec-expectations (3.13.5)
|
|
30
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
31
|
-
rspec-support (~> 3.13.0)
|
|
32
|
-
rspec-mocks (3.13.7)
|
|
33
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
34
|
-
rspec-support (~> 3.13.0)
|
|
35
|
-
rspec-support (3.13.6)
|
|
36
|
-
simplecov (0.22.0)
|
|
37
|
-
docile (~> 1.1)
|
|
38
|
-
simplecov-html (~> 0.11)
|
|
39
|
-
simplecov_json_formatter (~> 0.1)
|
|
40
|
-
simplecov-html (0.13.2)
|
|
41
|
-
simplecov_json_formatter (0.1.4)
|
|
42
|
-
yard (0.9.38)
|
|
43
|
-
yard-lint (1.3.0)
|
|
44
|
-
yard (~> 0.9)
|
|
45
|
-
zeitwerk (~> 2.6)
|
|
46
|
-
zeitwerk (2.7.3)
|
|
47
|
-
|
|
48
|
-
PLATFORMS
|
|
49
|
-
aarch64-linux
|
|
50
|
-
aarch64-linux-musl
|
|
51
|
-
arm64-darwin
|
|
52
|
-
ruby
|
|
53
|
-
x86_64-darwin
|
|
54
|
-
x86_64-linux
|
|
55
|
-
x86_64-linux-musl
|
|
56
|
-
|
|
57
|
-
DEPENDENCIES
|
|
58
|
-
pgmq-ruby!
|
|
59
|
-
rake
|
|
60
|
-
rspec
|
|
61
|
-
simplecov
|
|
62
|
-
yard-lint
|
|
63
|
-
|
|
64
|
-
BUNDLED WITH
|
|
65
|
-
2.7.2
|
data/Rakefile
DELETED
data/docker-compose.yml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
version: '3.8'
|
|
2
|
-
|
|
3
|
-
services:
|
|
4
|
-
postgres:
|
|
5
|
-
image: ghcr.io/pgmq/pg18-pgmq:v1.8.0
|
|
6
|
-
container_name: pgmq_postgres_test
|
|
7
|
-
environment:
|
|
8
|
-
POSTGRES_USER: postgres
|
|
9
|
-
POSTGRES_PASSWORD: postgres
|
|
10
|
-
POSTGRES_DB: pgmq_test
|
|
11
|
-
ports:
|
|
12
|
-
- "5433:5432" # Use port 5433 locally to avoid conflicts
|
|
13
|
-
volumes:
|
|
14
|
-
- pgmq_data:/var/lib/postgresql/data
|
|
15
|
-
healthcheck:
|
|
16
|
-
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
17
|
-
interval: 5s
|
|
18
|
-
timeout: 5s
|
|
19
|
-
retries: 5
|
|
20
|
-
|
|
21
|
-
volumes:
|
|
22
|
-
pgmq_data: null
|