pub_sub_model_sync 0.5.10 → 1.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/release.yml +43 -0
- data/.github/workflows/ruby.yml +1 -1
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +34 -1
- data/Dockerfile +6 -0
- data/Gemfile.lock +150 -134
- data/README.md +372 -192
- data/docker-compose.yaml +12 -0
- data/docs/notifications-diagram.png +0 -0
- data/lib/pub_sub_model_sync.rb +3 -1
- data/lib/pub_sub_model_sync/base.rb +4 -7
- data/lib/pub_sub_model_sync/config.rb +17 -8
- data/lib/pub_sub_model_sync/initializers/before_commit.rb +23 -0
- data/lib/pub_sub_model_sync/message_processor.rb +34 -10
- data/lib/pub_sub_model_sync/message_publisher.rb +90 -29
- data/lib/pub_sub_model_sync/mock_google_service.rb +4 -0
- data/lib/pub_sub_model_sync/mock_kafka_service.rb +13 -0
- data/lib/pub_sub_model_sync/payload.rb +35 -16
- data/lib/pub_sub_model_sync/payload_builder.rb +62 -0
- data/lib/pub_sub_model_sync/publisher_concern.rb +77 -47
- data/lib/pub_sub_model_sync/railtie.rb +6 -0
- data/lib/pub_sub_model_sync/run_subscriber.rb +108 -0
- data/lib/pub_sub_model_sync/service_base.rb +19 -37
- data/lib/pub_sub_model_sync/service_google.rb +53 -17
- data/lib/pub_sub_model_sync/service_kafka.rb +40 -13
- data/lib/pub_sub_model_sync/service_rabbit.rb +41 -33
- data/lib/pub_sub_model_sync/subscriber.rb +14 -66
- data/lib/pub_sub_model_sync/subscriber_concern.rb +23 -23
- data/lib/pub_sub_model_sync/tasks/worker.rake +11 -0
- data/lib/pub_sub_model_sync/transaction.rb +73 -0
- data/lib/pub_sub_model_sync/version.rb +1 -1
- data/samples/README.md +50 -0
- data/samples/app1/.gitattributes +8 -0
- data/samples/app1/.gitignore +28 -0
- data/samples/app1/Dockerfile +13 -0
- data/samples/app1/Gemfile +37 -0
- data/samples/app1/Gemfile.lock +171 -0
- data/samples/app1/README.md +24 -0
- data/samples/app1/Rakefile +6 -0
- data/samples/app1/app/models/application_record.rb +3 -0
- data/samples/app1/app/models/concerns/.keep +0 -0
- data/samples/app1/app/models/post.rb +19 -0
- data/samples/app1/app/models/user.rb +29 -0
- data/samples/app1/bin/bundle +114 -0
- data/samples/app1/bin/rails +5 -0
- data/samples/app1/bin/rake +5 -0
- data/samples/app1/bin/setup +33 -0
- data/samples/app1/bin/spring +14 -0
- data/samples/app1/config.ru +6 -0
- data/samples/app1/config/application.rb +40 -0
- data/samples/app1/config/boot.rb +4 -0
- data/samples/app1/config/credentials.yml.enc +1 -0
- data/samples/app1/config/database.yml +25 -0
- data/samples/app1/config/environment.rb +5 -0
- data/samples/app1/config/environments/development.rb +63 -0
- data/samples/app1/config/environments/production.rb +105 -0
- data/samples/app1/config/environments/test.rb +57 -0
- data/samples/app1/config/initializers/application_controller_renderer.rb +8 -0
- data/samples/app1/config/initializers/backtrace_silencers.rb +8 -0
- data/samples/app1/config/initializers/cors.rb +16 -0
- data/samples/app1/config/initializers/filter_parameter_logging.rb +6 -0
- data/samples/app1/config/initializers/inflections.rb +16 -0
- data/samples/app1/config/initializers/mime_types.rb +4 -0
- data/samples/app1/config/initializers/pubsub.rb +4 -0
- data/samples/app1/config/initializers/wrap_parameters.rb +14 -0
- data/samples/app1/config/locales/en.yml +33 -0
- data/samples/app1/config/puma.rb +43 -0
- data/samples/app1/config/routes.rb +3 -0
- data/samples/app1/config/spring.rb +6 -0
- data/samples/app1/db/migrate/20210513080700_create_users.rb +12 -0
- data/samples/app1/db/migrate/20210513134332_create_posts.rb +11 -0
- data/samples/app1/db/schema.rb +34 -0
- data/samples/app1/db/seeds.rb +7 -0
- data/samples/app1/docker-compose.yml +32 -0
- data/samples/app1/log/.keep +0 -0
- data/samples/app2/.gitattributes +8 -0
- data/samples/app2/.gitignore +28 -0
- data/samples/app2/Dockerfile +13 -0
- data/samples/app2/Gemfile +37 -0
- data/samples/app2/Gemfile.lock +171 -0
- data/samples/app2/README.md +24 -0
- data/samples/app2/Rakefile +6 -0
- data/samples/app2/app/models/application_record.rb +9 -0
- data/samples/app2/app/models/concerns/.keep +0 -0
- data/samples/app2/app/models/customer.rb +28 -0
- data/samples/app2/app/models/post.rb +10 -0
- data/samples/app2/bin/bundle +114 -0
- data/samples/app2/bin/rails +5 -0
- data/samples/app2/bin/rake +5 -0
- data/samples/app2/bin/setup +33 -0
- data/samples/app2/bin/spring +14 -0
- data/samples/app2/config.ru +6 -0
- data/samples/app2/config/application.rb +40 -0
- data/samples/app2/config/boot.rb +4 -0
- data/samples/app2/config/credentials.yml.enc +1 -0
- data/samples/app2/config/database.yml +25 -0
- data/samples/app2/config/environment.rb +5 -0
- data/samples/app2/config/environments/development.rb +63 -0
- data/samples/app2/config/environments/production.rb +105 -0
- data/samples/app2/config/environments/test.rb +57 -0
- data/samples/app2/config/initializers/application_controller_renderer.rb +8 -0
- data/samples/app2/config/initializers/backtrace_silencers.rb +8 -0
- data/samples/app2/config/initializers/cors.rb +16 -0
- data/samples/app2/config/initializers/filter_parameter_logging.rb +6 -0
- data/samples/app2/config/initializers/inflections.rb +16 -0
- data/samples/app2/config/initializers/mime_types.rb +4 -0
- data/samples/app2/config/initializers/pubsub.rb +4 -0
- data/samples/app2/config/initializers/wrap_parameters.rb +14 -0
- data/samples/app2/config/locales/en.yml +33 -0
- data/samples/app2/config/puma.rb +43 -0
- data/samples/app2/config/routes.rb +3 -0
- data/samples/app2/config/spring.rb +6 -0
- data/samples/app2/db/migrate/20210513080956_create_customers.rb +10 -0
- data/samples/app2/db/migrate/20210513135203_create_posts.rb +10 -0
- data/samples/app2/db/schema.rb +31 -0
- data/samples/app2/db/seeds.rb +7 -0
- data/samples/app2/docker-compose.yml +20 -0
- data/samples/app2/log/.keep +0 -0
- metadata +97 -3
- data/lib/pub_sub_model_sync/publisher.rb +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: caaffd468399e03dbf5582bf6973339ec61348a6dcc67a87bda1d930f9271aae
|
4
|
+
data.tar.gz: 9db2cb5f4a70c218d720130761a24ad7f6450531d845f9517e74968f409c9743
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac6c2b0087e411969e4a0fbe6fa4aa57e3fe46b6ff93f4d675e2a213cd0fd75786b5e16e1a4c1df6aee92296eac0c94a054a6b62543a0f7f643ba2ea0bc8ff7b
|
7
|
+
data.tar.gz: 9816c7cedd0d6289d0d73a55f35ede63a46bca7f38805c4c566012fed04a58595498a80fd272ce89b617e34b1d1487ff2ee7f6e050c9712bfd6d75b364ad910a
|
@@ -0,0 +1,43 @@
|
|
1
|
+
on:
|
2
|
+
push:
|
3
|
+
tags: # triggered once a git tag is published
|
4
|
+
- '*'
|
5
|
+
|
6
|
+
name: Create Release
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
build:
|
10
|
+
name: Create Release
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- name: Checkout code
|
14
|
+
uses: actions/checkout@v2
|
15
|
+
with:
|
16
|
+
fetch-depth: 0
|
17
|
+
|
18
|
+
# Changelog action adaptations
|
19
|
+
- name: Create required package.json
|
20
|
+
run: test -f package.json || echo '{}' >package.json
|
21
|
+
- name: Detect Previous Tag (action not detecting very well)
|
22
|
+
run: echo "::set-output name=previous_tag::$(git describe --abbrev=0 --tags `git rev-list --tags --skip=1 --max-count=1`)"
|
23
|
+
id: tag_checker
|
24
|
+
|
25
|
+
- name: Generate Changelog
|
26
|
+
uses: scottbrenner/generate-changelog-action@master
|
27
|
+
id: Changelog
|
28
|
+
with:
|
29
|
+
from-tag: ${{steps.tag_checker.outputs.previous_tag}}
|
30
|
+
to-tag: HEAD
|
31
|
+
|
32
|
+
- name: Create Release
|
33
|
+
id: create_release
|
34
|
+
uses: actions/create-release@latest
|
35
|
+
env:
|
36
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
37
|
+
with:
|
38
|
+
tag_name: ${{ github.ref }}
|
39
|
+
release_name: Release ${{ github.ref }}
|
40
|
+
body: |
|
41
|
+
${{ steps.Changelog.outputs.changelog }}
|
42
|
+
draft: false
|
43
|
+
prerelease: false
|
data/.github/workflows/ruby.yml
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,43 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
# 1.0 (June 13, 2021)
|
4
|
+
This version includes many changes that was refactored from previous version, and thus it needs manual changes to migrate into this version.
|
5
|
+
- Refactor: Subscribers param renamed `from_action` into `to_action` and added support for block or lambda
|
6
|
+
- Feat: Improved `ps_subscribe` to accept new arguments and support for property mappings
|
7
|
+
- Refactor: Refactored `ps_publish` to be called manually (removes notification assumptions) and accept for new arguments
|
8
|
+
- Feat: Added `ps_after_action` to listen CRUD events to send notifications in the expected order
|
9
|
+
- Feat: Added `config.default_topic_name` to define default topic name whe publishing (by default `config.topic_name`)
|
10
|
+
- Refactor: Refactored PubSub Transactions to support rollbacks (any exception inside transactions can automatically cancel all pending notifications: configurable through `config.transactions_use_buffer`)
|
11
|
+
- Feat: Improved CRUD transactions to deliver inner notifications in the expected order to keep data consistency
|
12
|
+
- System refactor: Added subscriber runner
|
13
|
+
- Fix: Class notifications can only be listened by class subscriptions
|
14
|
+
- Refactor: Removed `publish_model_data` to have a unique model publisher `ps_publish`
|
15
|
+
- Refactor: Renamed `ps_before_sync` into `ps_before_publish`, `ps_after_sync` into `ps_after_publish`
|
16
|
+
- Refactor: Renamed `payload.attributes` into `payload.info`
|
17
|
+
- Feat: Support for plain Ruby Objects (Non ActiveRecord models)
|
18
|
+
- Fix: Retry errors for 5 times before exiting notifications listener
|
19
|
+
- Feat: Added transactions max_buffer
|
20
|
+
- Feat: add `ps_perform_publish` to perform the callback for a specific action
|
21
|
+
- Feat: Removed `ps_skip_sync` callback
|
22
|
+
|
23
|
+
# 0.6.0 (March 03, 2021)
|
24
|
+
- feat: add support to include custom payload headers
|
25
|
+
- feat: add pubsub transactions to process all payloads inside in the same order they were published
|
26
|
+
- feat: when a model is created/updated/destroyed, process all related payloads in a single transaction
|
27
|
+
- feat: add method to save processed payload (:ps_processing_payload) when saving sync
|
28
|
+
- feat: add "ordering_key" support to process all payloads with the same key in the same order
|
29
|
+
- feat: start multiple workers to process async kafka messages when starting service listeners
|
30
|
+
- feat: make async publisher by reusing exchange connection (rabbit)
|
31
|
+
- feat: add support for forced_ordering_key to always be used as the ordering_key if defined
|
32
|
+
- feat: add feature to publish a message to a custom and/or multiple topics
|
33
|
+
- feat: add model custom action subscriber and publisher
|
34
|
+
- feat: add docker compose settings
|
35
|
+
|
3
36
|
# 0.5.10 (February 13, 2021)
|
4
37
|
- feat: remove duplicated callback :ps_before_save_sync (same result can be achieved with :ps_before_save_sync)
|
5
38
|
- feat: improve message starter to retry when failed or exit system when persists
|
6
39
|
- feat: fix and retry when database connection error (PG::UnableToSend)
|
7
|
-
- feat: add method to save processed payload (:
|
40
|
+
- feat: add method to save processed payload (:ps_processing_payload) when saving sync
|
8
41
|
- chore: improved readme (Thanks @CharlieIGG)
|
9
42
|
|
10
43
|
# 0.5.9.1 (February 10, 2021)
|
data/Dockerfile
ADDED
data/Gemfile.lock
CHANGED
@@ -1,201 +1,217 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
pub_sub_model_sync (0
|
4
|
+
pub_sub_model_sync (1.0)
|
5
5
|
rails
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
actioncable (6.
|
11
|
-
actionpack (= 6.
|
10
|
+
actioncable (6.1.3.2)
|
11
|
+
actionpack (= 6.1.3.2)
|
12
|
+
activesupport (= 6.1.3.2)
|
12
13
|
nio4r (~> 2.0)
|
13
14
|
websocket-driver (>= 0.6.1)
|
14
|
-
actionmailbox (6.
|
15
|
-
actionpack (= 6.
|
16
|
-
activejob (= 6.
|
17
|
-
activerecord (= 6.
|
18
|
-
activestorage (= 6.
|
19
|
-
activesupport (= 6.
|
15
|
+
actionmailbox (6.1.3.2)
|
16
|
+
actionpack (= 6.1.3.2)
|
17
|
+
activejob (= 6.1.3.2)
|
18
|
+
activerecord (= 6.1.3.2)
|
19
|
+
activestorage (= 6.1.3.2)
|
20
|
+
activesupport (= 6.1.3.2)
|
20
21
|
mail (>= 2.7.1)
|
21
|
-
actionmailer (6.
|
22
|
-
actionpack (= 6.
|
23
|
-
actionview (= 6.
|
24
|
-
activejob (= 6.
|
22
|
+
actionmailer (6.1.3.2)
|
23
|
+
actionpack (= 6.1.3.2)
|
24
|
+
actionview (= 6.1.3.2)
|
25
|
+
activejob (= 6.1.3.2)
|
26
|
+
activesupport (= 6.1.3.2)
|
25
27
|
mail (~> 2.5, >= 2.5.4)
|
26
28
|
rails-dom-testing (~> 2.0)
|
27
|
-
actionpack (6.
|
28
|
-
actionview (= 6.
|
29
|
-
activesupport (= 6.
|
30
|
-
rack (~> 2.0, >= 2.0.
|
29
|
+
actionpack (6.1.3.2)
|
30
|
+
actionview (= 6.1.3.2)
|
31
|
+
activesupport (= 6.1.3.2)
|
32
|
+
rack (~> 2.0, >= 2.0.9)
|
31
33
|
rack-test (>= 0.6.3)
|
32
34
|
rails-dom-testing (~> 2.0)
|
33
35
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
34
|
-
actiontext (6.
|
35
|
-
actionpack (= 6.
|
36
|
-
activerecord (= 6.
|
37
|
-
activestorage (= 6.
|
38
|
-
activesupport (= 6.
|
36
|
+
actiontext (6.1.3.2)
|
37
|
+
actionpack (= 6.1.3.2)
|
38
|
+
activerecord (= 6.1.3.2)
|
39
|
+
activestorage (= 6.1.3.2)
|
40
|
+
activesupport (= 6.1.3.2)
|
39
41
|
nokogiri (>= 1.8.5)
|
40
|
-
actionview (6.
|
41
|
-
activesupport (= 6.
|
42
|
+
actionview (6.1.3.2)
|
43
|
+
activesupport (= 6.1.3.2)
|
42
44
|
builder (~> 3.1)
|
43
45
|
erubi (~> 1.4)
|
44
46
|
rails-dom-testing (~> 2.0)
|
45
47
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
46
|
-
activejob (6.
|
47
|
-
activesupport (= 6.
|
48
|
+
activejob (6.1.3.2)
|
49
|
+
activesupport (= 6.1.3.2)
|
48
50
|
globalid (>= 0.3.6)
|
49
|
-
activemodel (6.
|
50
|
-
activesupport (= 6.
|
51
|
-
activerecord (6.
|
52
|
-
activemodel (= 6.
|
53
|
-
activesupport (= 6.
|
54
|
-
activestorage (6.
|
55
|
-
actionpack (= 6.
|
56
|
-
activejob (= 6.
|
57
|
-
activerecord (= 6.
|
58
|
-
|
59
|
-
|
51
|
+
activemodel (6.1.3.2)
|
52
|
+
activesupport (= 6.1.3.2)
|
53
|
+
activerecord (6.1.3.2)
|
54
|
+
activemodel (= 6.1.3.2)
|
55
|
+
activesupport (= 6.1.3.2)
|
56
|
+
activestorage (6.1.3.2)
|
57
|
+
actionpack (= 6.1.3.2)
|
58
|
+
activejob (= 6.1.3.2)
|
59
|
+
activerecord (= 6.1.3.2)
|
60
|
+
activesupport (= 6.1.3.2)
|
61
|
+
marcel (~> 1.0.0)
|
62
|
+
mini_mime (~> 1.0.2)
|
63
|
+
activesupport (6.1.3.2)
|
60
64
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
61
|
-
i18n (>=
|
62
|
-
minitest (
|
63
|
-
tzinfo (~>
|
64
|
-
zeitwerk (~> 2.
|
65
|
+
i18n (>= 1.6, < 2)
|
66
|
+
minitest (>= 5.1)
|
67
|
+
tzinfo (~> 2.0)
|
68
|
+
zeitwerk (~> 2.3)
|
65
69
|
addressable (2.7.0)
|
66
70
|
public_suffix (>= 2.0.2, < 5.0)
|
67
|
-
amq-protocol (2.3.
|
68
|
-
ast (2.4.
|
71
|
+
amq-protocol (2.3.2)
|
72
|
+
ast (2.4.2)
|
69
73
|
builder (3.2.4)
|
70
|
-
bunny (2.
|
71
|
-
amq-protocol (~> 2.3, >= 2.3.
|
72
|
-
concurrent-ruby (1.1.
|
74
|
+
bunny (2.17.0)
|
75
|
+
amq-protocol (~> 2.3, >= 2.3.1)
|
76
|
+
concurrent-ruby (1.1.8)
|
73
77
|
crass (1.0.6)
|
74
|
-
database_cleaner (
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
diff-lcs (1.
|
79
|
-
digest-crc (0.
|
78
|
+
database_cleaner-active_record (2.0.1)
|
79
|
+
activerecord (>= 5.a)
|
80
|
+
database_cleaner-core (~> 2.0.0)
|
81
|
+
database_cleaner-core (2.0.1)
|
82
|
+
diff-lcs (1.4.4)
|
83
|
+
digest-crc (0.6.3)
|
84
|
+
rake (>= 12.0.0, < 14.0.0)
|
80
85
|
erubi (1.10.0)
|
81
|
-
faraday (1.1
|
86
|
+
faraday (1.4.1)
|
87
|
+
faraday-excon (~> 1.1)
|
88
|
+
faraday-net_http (~> 1.0)
|
89
|
+
faraday-net_http_persistent (~> 1.1)
|
82
90
|
multipart-post (>= 1.2, < 3)
|
83
|
-
ruby2_keywords
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
91
|
+
ruby2_keywords (>= 0.0.4)
|
92
|
+
faraday-excon (1.1.0)
|
93
|
+
faraday-net_http (1.0.1)
|
94
|
+
faraday-net_http_persistent (1.1.0)
|
95
|
+
gapic-common (0.4.1)
|
96
|
+
faraday (~> 1.3)
|
97
|
+
google-protobuf (~> 3.15, >= 3.15.2)
|
98
|
+
googleapis-common-protos (>= 1.3.11, < 2.0)
|
99
|
+
googleapis-common-protos-types (>= 1.0.6, < 2.0)
|
100
|
+
googleauth (~> 0.15, >= 0.15.1)
|
101
|
+
grpc (~> 1.36)
|
90
102
|
globalid (0.4.2)
|
91
103
|
activesupport (>= 4.2.0)
|
92
|
-
google-cloud-core (1.
|
104
|
+
google-cloud-core (1.6.0)
|
93
105
|
google-cloud-env (~> 1.0)
|
94
106
|
google-cloud-errors (~> 1.0)
|
95
|
-
google-cloud-env (1.
|
107
|
+
google-cloud-env (1.5.0)
|
96
108
|
faraday (>= 0.17.3, < 2.0)
|
97
|
-
google-cloud-errors (1.0
|
98
|
-
google-cloud-pubsub (2.
|
109
|
+
google-cloud-errors (1.1.0)
|
110
|
+
google-cloud-pubsub (2.6.1)
|
99
111
|
concurrent-ruby (~> 1.1)
|
100
112
|
google-cloud-core (~> 1.5)
|
101
113
|
google-cloud-pubsub-v1 (~> 0.0)
|
102
|
-
google-cloud-pubsub-v1 (0.
|
114
|
+
google-cloud-pubsub-v1 (0.4.0)
|
103
115
|
gapic-common (~> 0.3)
|
104
116
|
google-cloud-errors (~> 1.0)
|
105
117
|
grpc-google-iam-v1 (>= 0.6.10, < 2.0)
|
106
|
-
google-protobuf (3.
|
107
|
-
|
108
|
-
|
109
|
-
|
118
|
+
google-protobuf (3.17.0)
|
119
|
+
google-protobuf (3.17.0-x86_64-linux)
|
120
|
+
googleapis-common-protos (1.3.11)
|
121
|
+
google-protobuf (~> 3.14)
|
122
|
+
googleapis-common-protos-types (>= 1.0.6, < 2.0)
|
110
123
|
grpc (~> 1.27)
|
111
|
-
googleapis-common-protos-types (1.0.
|
112
|
-
google-protobuf (~> 3.
|
113
|
-
googleauth (0.
|
124
|
+
googleapis-common-protos-types (1.0.6)
|
125
|
+
google-protobuf (~> 3.14)
|
126
|
+
googleauth (0.16.2)
|
114
127
|
faraday (>= 0.17.3, < 2.0)
|
115
128
|
jwt (>= 1.4, < 3.0)
|
116
129
|
memoist (~> 0.16)
|
117
130
|
multi_json (~> 1.11)
|
118
131
|
os (>= 0.9, < 2.0)
|
119
132
|
signet (~> 0.14)
|
120
|
-
grpc (1.
|
121
|
-
google-protobuf (~> 3.
|
133
|
+
grpc (1.37.1)
|
134
|
+
google-protobuf (~> 3.15)
|
122
135
|
googleapis-common-protos-types (~> 1.0)
|
123
|
-
grpc
|
124
|
-
google-protobuf (~> 3.
|
125
|
-
googleapis-common-protos (
|
136
|
+
grpc (1.37.1-x86_64-linux)
|
137
|
+
google-protobuf (~> 3.15)
|
138
|
+
googleapis-common-protos-types (~> 1.0)
|
139
|
+
grpc-google-iam-v1 (0.6.11)
|
140
|
+
google-protobuf (~> 3.14)
|
141
|
+
googleapis-common-protos (>= 1.3.11, < 2.0)
|
126
142
|
grpc (~> 1.27)
|
127
|
-
i18n (1.8.
|
143
|
+
i18n (1.8.10)
|
128
144
|
concurrent-ruby (~> 1.0)
|
129
|
-
jwt (2.2.
|
130
|
-
loofah (2.
|
145
|
+
jwt (2.2.3)
|
146
|
+
loofah (2.9.1)
|
131
147
|
crass (~> 1.0.2)
|
132
148
|
nokogiri (>= 1.5.9)
|
133
149
|
mail (2.7.1)
|
134
150
|
mini_mime (>= 0.1.1)
|
135
|
-
marcel (0.
|
136
|
-
mimemagic (~> 0.3.2)
|
151
|
+
marcel (1.0.1)
|
137
152
|
memoist (0.16.2)
|
138
153
|
method_source (1.0.0)
|
139
|
-
|
140
|
-
|
141
|
-
mini_portile2 (2.4.0)
|
142
|
-
minitest (5.14.0)
|
154
|
+
mini_mime (1.0.3)
|
155
|
+
minitest (5.14.4)
|
143
156
|
multi_json (1.15.0)
|
144
157
|
multipart-post (2.1.1)
|
145
|
-
nio4r (2.5.
|
146
|
-
nokogiri (1.
|
147
|
-
|
158
|
+
nio4r (2.5.7)
|
159
|
+
nokogiri (1.11.3-x86_64-darwin)
|
160
|
+
racc (~> 1.4)
|
161
|
+
nokogiri (1.11.3-x86_64-linux)
|
162
|
+
racc (~> 1.4)
|
148
163
|
os (1.1.1)
|
149
164
|
parallel (1.20.1)
|
150
|
-
parser (
|
165
|
+
parser (3.0.1.1)
|
151
166
|
ast (~> 2.4.1)
|
152
167
|
public_suffix (4.0.6)
|
168
|
+
racc (1.5.2)
|
153
169
|
rack (2.2.3)
|
154
170
|
rack-test (1.1.0)
|
155
171
|
rack (>= 1.0, < 3)
|
156
|
-
rails (6.
|
157
|
-
actioncable (= 6.
|
158
|
-
actionmailbox (= 6.
|
159
|
-
actionmailer (= 6.
|
160
|
-
actionpack (= 6.
|
161
|
-
actiontext (= 6.
|
162
|
-
actionview (= 6.
|
163
|
-
activejob (= 6.
|
164
|
-
activemodel (= 6.
|
165
|
-
activerecord (= 6.
|
166
|
-
activestorage (= 6.
|
167
|
-
activesupport (= 6.
|
168
|
-
bundler (>= 1.
|
169
|
-
railties (= 6.
|
172
|
+
rails (6.1.3.2)
|
173
|
+
actioncable (= 6.1.3.2)
|
174
|
+
actionmailbox (= 6.1.3.2)
|
175
|
+
actionmailer (= 6.1.3.2)
|
176
|
+
actionpack (= 6.1.3.2)
|
177
|
+
actiontext (= 6.1.3.2)
|
178
|
+
actionview (= 6.1.3.2)
|
179
|
+
activejob (= 6.1.3.2)
|
180
|
+
activemodel (= 6.1.3.2)
|
181
|
+
activerecord (= 6.1.3.2)
|
182
|
+
activestorage (= 6.1.3.2)
|
183
|
+
activesupport (= 6.1.3.2)
|
184
|
+
bundler (>= 1.15.0)
|
185
|
+
railties (= 6.1.3.2)
|
170
186
|
sprockets-rails (>= 2.0.0)
|
171
187
|
rails-dom-testing (2.0.3)
|
172
188
|
activesupport (>= 4.2.0)
|
173
189
|
nokogiri (>= 1.6)
|
174
190
|
rails-html-sanitizer (1.3.0)
|
175
191
|
loofah (~> 2.3)
|
176
|
-
railties (6.
|
177
|
-
actionpack (= 6.
|
178
|
-
activesupport (= 6.
|
192
|
+
railties (6.1.3.2)
|
193
|
+
actionpack (= 6.1.3.2)
|
194
|
+
activesupport (= 6.1.3.2)
|
179
195
|
method_source
|
180
196
|
rake (>= 0.8.7)
|
181
|
-
thor (
|
197
|
+
thor (~> 1.0)
|
182
198
|
rainbow (3.0.0)
|
183
|
-
rake (13.0.
|
184
|
-
regexp_parser (2.
|
185
|
-
rexml (3.2.
|
186
|
-
rspec (3.
|
187
|
-
rspec-core (~> 3.
|
188
|
-
rspec-expectations (~> 3.
|
189
|
-
rspec-mocks (~> 3.
|
190
|
-
rspec-core (3.
|
191
|
-
rspec-support (~> 3.
|
192
|
-
rspec-expectations (3.
|
199
|
+
rake (13.0.3)
|
200
|
+
regexp_parser (2.1.1)
|
201
|
+
rexml (3.2.5)
|
202
|
+
rspec (3.10.0)
|
203
|
+
rspec-core (~> 3.10.0)
|
204
|
+
rspec-expectations (~> 3.10.0)
|
205
|
+
rspec-mocks (~> 3.10.0)
|
206
|
+
rspec-core (3.10.1)
|
207
|
+
rspec-support (~> 3.10.0)
|
208
|
+
rspec-expectations (3.10.1)
|
193
209
|
diff-lcs (>= 1.2.0, < 2.0)
|
194
|
-
rspec-support (~> 3.
|
195
|
-
rspec-mocks (3.
|
210
|
+
rspec-support (~> 3.10.0)
|
211
|
+
rspec-mocks (3.10.2)
|
196
212
|
diff-lcs (>= 1.2.0, < 2.0)
|
197
|
-
rspec-support (~> 3.
|
198
|
-
rspec-support (3.
|
213
|
+
rspec-support (~> 3.10.0)
|
214
|
+
rspec-support (3.10.2)
|
199
215
|
rubocop (1.6.1)
|
200
216
|
parallel (~> 1.10)
|
201
217
|
parser (>= 2.7.1.5)
|
@@ -205,13 +221,13 @@ GEM
|
|
205
221
|
rubocop-ast (>= 1.2.0, < 2.0)
|
206
222
|
ruby-progressbar (~> 1.7)
|
207
223
|
unicode-display_width (>= 1.4.0, < 2.0)
|
208
|
-
rubocop-ast (1.
|
209
|
-
parser (>=
|
210
|
-
ruby-kafka (1.
|
224
|
+
rubocop-ast (1.5.0)
|
225
|
+
parser (>= 3.0.1.1)
|
226
|
+
ruby-kafka (1.3.0)
|
211
227
|
digest-crc
|
212
|
-
ruby-progressbar (1.
|
213
|
-
ruby2_keywords (0.0.
|
214
|
-
signet (0.
|
228
|
+
ruby-progressbar (1.11.0)
|
229
|
+
ruby2_keywords (0.0.4)
|
230
|
+
signet (0.15.0)
|
215
231
|
addressable (~> 2.3)
|
216
232
|
faraday (>= 0.17.3, < 2.0)
|
217
233
|
jwt (>= 1.5, < 3.0)
|
@@ -224,18 +240,18 @@ GEM
|
|
224
240
|
activesupport (>= 4.0)
|
225
241
|
sprockets (>= 3.0.0)
|
226
242
|
sqlite3 (1.4.2)
|
227
|
-
thor (1.0
|
228
|
-
|
229
|
-
|
230
|
-
thread_safe (~> 0.1)
|
243
|
+
thor (1.1.0)
|
244
|
+
tzinfo (2.0.4)
|
245
|
+
concurrent-ruby (~> 1.0)
|
231
246
|
unicode-display_width (1.7.0)
|
232
247
|
websocket-driver (0.7.3)
|
233
248
|
websocket-extensions (>= 0.1.0)
|
234
249
|
websocket-extensions (0.1.5)
|
235
|
-
zeitwerk (2.
|
250
|
+
zeitwerk (2.4.2)
|
236
251
|
|
237
252
|
PLATFORMS
|
238
253
|
ruby
|
254
|
+
x86_64-linux
|
239
255
|
|
240
256
|
DEPENDENCIES
|
241
257
|
bundler
|
@@ -250,4 +266,4 @@ DEPENDENCIES
|
|
250
266
|
sqlite3
|
251
267
|
|
252
268
|
BUNDLED WITH
|
253
|
-
2.
|
269
|
+
2.2.17
|