my_api_client 1.3.1 → 2.0.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/.dockerignore +8 -0
- data/.envrc.skeleton +0 -1
- data/.github/dependabot.yml +82 -7
- data/.github/workflows/ci.yml +334 -0
- data/.github/workflows/dependabot-auto-merge.yml +96 -0
- data/.github/workflows/release.yml +33 -0
- data/.github/workflows/rubocop_challenge.yml +33 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/AGENTS.md +128 -0
- data/CHANGELOG.md +54 -2
- data/CLAUDE.md +6 -0
- data/Dockerfile +22 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +67 -59
- data/README.md +398 -62
- data/docker-compose.yml +29 -0
- data/docs/runbooks/dependabot_pr_auto_merge.md +113 -0
- data/gemfiles/rails_7.2.gemfile +1 -1
- data/gemfiles/{rails_7.1.gemfile → rails_8.0.gemfile} +2 -2
- data/gemfiles/{rails_6.1.gemfile → rails_8.1.gemfile} +2 -2
- data/lib/my_api_client/default_error_handlers.rb +1 -1
- data/lib/my_api_client/errors/client_error.rb +5 -1
- data/lib/my_api_client/integrations/bugsnag.rb +1 -1
- data/lib/my_api_client/version.rb +1 -1
- data/lib/my_api_client.rb +1 -1
- data/my_api/.ruby-version +1 -1
- data/my_api/AGENTS.md +35 -0
- data/my_api/Dockerfile +25 -0
- data/my_api/Gemfile +5 -16
- data/my_api/Gemfile.lock +263 -228
- data/my_api/README.md +36 -25
- data/my_api/Rakefile +3 -2
- data/my_api/app/controllers/application_controller.rb +1 -2
- data/my_api/app/controllers/error_controller.rb +2 -2
- data/my_api/app/controllers/header_controller.rb +6 -3
- data/my_api/app/controllers/pagination_controller.rb +5 -15
- data/my_api/app/controllers/rest_controller.rb +12 -16
- data/my_api/app/controllers/status_controller.rb +3 -4
- data/my_api/config/application.rb +12 -67
- data/{rails_app/rails_6.1 → my_api}/config/boot.rb +1 -1
- data/{rails_app/rails_7.1 → my_api}/config/environment.rb +0 -2
- data/my_api/config/environments/development.rb +6 -6
- data/my_api/config/environments/production.rb +5 -8
- data/my_api/config/environments/test.rb +5 -6
- data/my_api/config/routes.rb +2 -10
- data/my_api/config.ru +2 -4
- data/my_api/public/index.html +10 -90
- data/{rails_app/rails_7.0 → my_api}/spec/rails_helper.rb +3 -4
- data/my_api/spec/requests/error_controller_spec.rb +18 -0
- data/my_api/spec/requests/pagination_controller_spec.rb +22 -0
- data/my_api/spec/requests/rest_controller_spec.rb +22 -0
- data/my_api/spec/requests/status_controller_spec.rb +20 -0
- data/my_api/spec/spec_helper.rb +15 -23
- data/my_api_client.gemspec +2 -2
- data/rails_app/AGENTS.md +13 -0
- data/rails_app/rails_7.2/Dockerfile +1 -1
- data/rails_app/rails_7.2/Gemfile +2 -0
- data/rails_app/rails_7.2/Gemfile.lock +143 -122
- data/rails_app/{rails_7.1 → rails_8.0}/.dockerignore +16 -2
- data/rails_app/{rails_6.1 → rails_8.0}/.gitattributes +2 -1
- data/rails_app/rails_8.0/.github/workflows/ci.yml +39 -0
- data/rails_app/{rails_6.1 → rails_8.0}/.gitignore +11 -7
- data/rails_app/rails_8.0/.rubocop.yml +8 -0
- data/rails_app/rails_8.0/.ruby-version +1 -0
- data/rails_app/{rails_7.1 → rails_8.0}/Dockerfile +28 -18
- data/rails_app/rails_8.0/Gemfile +15 -0
- data/rails_app/rails_8.0/Gemfile.lock +286 -0
- data/rails_app/{rails_6.1 → rails_8.0}/Rakefile +1 -3
- data/rails_app/{rails_7.1 → rails_8.0}/app/controllers/application_controller.rb +0 -2
- data/rails_app/rails_8.0/app/jobs/application_job.rb +7 -0
- data/rails_app/rails_8.0/app/mailers/application_mailer.rb +4 -0
- data/rails_app/{rails_7.0 → rails_8.0}/app/models/application_record.rb +0 -2
- data/rails_app/rails_8.0/app/views/layouts/mailer.html.erb +13 -0
- data/rails_app/rails_8.0/app/views/layouts/mailer.text.erb +1 -0
- data/rails_app/rails_8.0/bin/brakeman +7 -0
- data/rails_app/rails_8.0/bin/dev +2 -0
- data/rails_app/rails_8.0/bin/docker-entrypoint +14 -0
- data/rails_app/rails_8.0/bin/rails +4 -0
- data/rails_app/rails_8.0/bin/rake +4 -0
- data/rails_app/rails_8.0/bin/rubocop +8 -0
- data/rails_app/{rails_7.1 → rails_8.0}/bin/setup +11 -12
- data/rails_app/rails_8.0/bin/thrust +5 -0
- data/rails_app/{rails_7.1 → rails_8.0}/config/application.rb +14 -16
- data/rails_app/rails_8.0/config/boot.rb +3 -0
- data/rails_app/rails_8.0/config/cable.yml +10 -0
- data/rails_app/rails_8.0/config/credentials.yml.enc +1 -0
- data/rails_app/{rails_7.1 → rails_8.0}/config/database.yml +18 -2
- data/rails_app/{rails_6.1 → rails_8.0}/config/environment.rb +1 -3
- data/rails_app/rails_8.0/config/environments/development.rb +70 -0
- data/rails_app/rails_8.0/config/environments/production.rb +86 -0
- data/rails_app/{rails_7.1 → rails_8.0}/config/environments/test.rb +16 -19
- data/rails_app/{rails_7.1 → rails_8.0}/config/initializers/cors.rb +0 -1
- data/rails_app/{rails_7.1 → rails_8.0}/config/initializers/filter_parameter_logging.rb +2 -4
- data/rails_app/{rails_7.0 → rails_8.0}/config/initializers/inflections.rb +0 -1
- data/rails_app/rails_8.0/config/puma.rb +41 -0
- data/rails_app/{rails_7.1 → rails_8.0}/config/routes.rb +1 -3
- data/rails_app/rails_8.0/config/storage.yml +34 -0
- data/rails_app/{rails_7.1 → rails_8.0}/config.ru +1 -3
- data/rails_app/{rails_7.1 → rails_8.0}/db/seeds.rb +0 -1
- data/rails_app/{rails_7.1 → rails_8.0}/spec/rails_helper.rb +1 -1
- data/rails_app/rails_8.1/.dockerignore +45 -0
- data/rails_app/rails_8.1/.gitattributes +9 -0
- data/rails_app/rails_8.1/.github/workflows/ci.yml +52 -0
- data/rails_app/rails_8.1/.gitignore +33 -0
- data/rails_app/rails_8.1/.rspec +1 -0
- data/rails_app/rails_8.1/.rubocop.yml +8 -0
- data/rails_app/rails_8.1/.ruby-version +1 -0
- data/rails_app/rails_8.1/Dockerfile +68 -0
- data/rails_app/rails_8.1/Gemfile +15 -0
- data/rails_app/rails_8.1/Gemfile.lock +289 -0
- data/rails_app/{rails_7.0 → rails_8.1}/Rakefile +1 -3
- data/rails_app/{rails_6.1 → rails_8.1}/app/controllers/application_controller.rb +0 -2
- data/rails_app/rails_8.1/app/jobs/application_job.rb +7 -0
- data/rails_app/rails_8.1/app/mailers/application_mailer.rb +4 -0
- data/rails_app/{rails_7.1 → rails_8.1}/app/models/application_record.rb +0 -2
- data/rails_app/rails_8.1/app/views/layouts/mailer.html.erb +13 -0
- data/rails_app/rails_8.1/app/views/layouts/mailer.text.erb +1 -0
- data/rails_app/rails_8.1/bin/brakeman +7 -0
- data/rails_app/rails_8.1/bin/bundler-audit +6 -0
- data/rails_app/rails_8.1/bin/ci +6 -0
- data/rails_app/rails_8.1/bin/dev +2 -0
- data/rails_app/{rails_7.1 → rails_8.1}/bin/docker-entrypoint +1 -1
- data/rails_app/rails_8.1/bin/rails +4 -0
- data/rails_app/rails_8.1/bin/rake +4 -0
- data/rails_app/rails_8.1/bin/rubocop +8 -0
- data/rails_app/{rails_7.0 → rails_8.1}/bin/setup +13 -13
- data/rails_app/rails_8.1/bin/thrust +5 -0
- data/rails_app/{rails_6.1 → rails_8.1}/config/application.rb +19 -17
- data/rails_app/rails_8.1/config/boot.rb +3 -0
- data/rails_app/rails_8.1/config/bundler-audit.yml +5 -0
- data/rails_app/rails_8.1/config/cable.yml +10 -0
- data/rails_app/rails_8.1/config/ci.rb +19 -0
- data/rails_app/rails_8.1/config/credentials.yml.enc +1 -0
- data/rails_app/rails_8.1/config/database.yml +40 -0
- data/rails_app/{rails_7.0 → rails_8.1}/config/environment.rb +1 -3
- data/rails_app/rails_8.1/config/environments/development.rb +73 -0
- data/rails_app/rails_8.1/config/environments/production.rb +86 -0
- data/rails_app/rails_8.1/config/environments/test.rb +53 -0
- data/rails_app/{rails_7.0 → rails_8.1}/config/initializers/cors.rb +1 -2
- data/rails_app/rails_8.1/config/initializers/filter_parameter_logging.rb +8 -0
- data/rails_app/{rails_7.1 → rails_8.1}/config/initializers/inflections.rb +0 -1
- data/rails_app/rails_8.1/config/locales/en.yml +31 -0
- data/rails_app/rails_8.1/config/puma.rb +42 -0
- data/rails_app/rails_8.1/config/routes.rb +10 -0
- data/rails_app/rails_8.1/config/storage.yml +27 -0
- data/rails_app/{rails_7.0 → rails_8.1}/config.ru +1 -3
- data/rails_app/rails_8.1/db/seeds.rb +9 -0
- data/rails_app/{rails_6.1 → rails_8.1}/spec/rails_helper.rb +1 -2
- metadata +139 -136
- data/.circleci/config.yml +0 -344
- data/README.jp.md +0 -785
- data/gemfiles/rails_7.0.gemfile +0 -15
- data/my_api/.envrc.skeleton +0 -3
- data/my_api/.jetskeep +0 -1
- data/my_api/Procfile +0 -7
- data/my_api/app/helpers/application_helper.rb +0 -5
- data/my_api/app/jobs/application_job.rb +0 -7
- data/my_api/app/models/application_item.rb +0 -5
- data/my_api/config/dynamodb.yml +0 -22
- data/my_api/spec/controllers/error_controller_spec.rb +0 -43
- data/my_api/spec/controllers/header_controller_spec.rb +0 -33
- data/my_api/spec/controllers/pagination_controller_spec.rb +0 -73
- data/my_api/spec/controllers/rest_controller_spec.rb +0 -99
- data/my_api/spec/controllers/status_controller_spec.rb +0 -47
- data/my_api/spec/fixtures/payloads/posts-index.json +0 -51
- data/my_api/spec/fixtures/payloads/posts-show.json +0 -53
- data/rails_app/rails_6.1/.rspec +0 -3
- data/rails_app/rails_6.1/Gemfile +0 -17
- data/rails_app/rails_6.1/Gemfile.lock +0 -195
- data/rails_app/rails_6.1/app/models/application_record.rb +0 -5
- data/rails_app/rails_6.1/bin/bundle +0 -122
- data/rails_app/rails_6.1/bin/rails +0 -6
- data/rails_app/rails_6.1/bin/rake +0 -6
- data/rails_app/rails_6.1/bin/setup +0 -35
- data/rails_app/rails_6.1/config/credentials.yml.enc +0 -1
- data/rails_app/rails_6.1/config/database.yml +0 -25
- data/rails_app/rails_6.1/config/environments/development.rb +0 -59
- data/rails_app/rails_6.1/config/environments/production.rb +0 -97
- data/rails_app/rails_6.1/config/environments/test.rb +0 -51
- data/rails_app/rails_6.1/config/initializers/application_controller_renderer.rb +0 -9
- data/rails_app/rails_6.1/config/initializers/backtrace_silencers.rb +0 -10
- data/rails_app/rails_6.1/config/initializers/cors.rb +0 -17
- data/rails_app/rails_6.1/config/initializers/filter_parameter_logging.rb +0 -8
- data/rails_app/rails_6.1/config/initializers/inflections.rb +0 -17
- data/rails_app/rails_6.1/config/initializers/mime_types.rb +0 -5
- data/rails_app/rails_6.1/config/initializers/wrap_parameters.rb +0 -16
- data/rails_app/rails_6.1/config/locales/en.yml +0 -33
- data/rails_app/rails_6.1/config/routes.rb +0 -5
- data/rails_app/rails_6.1/config.ru +0 -8
- data/rails_app/rails_6.1/db/seeds.rb +0 -8
- data/rails_app/rails_7.0/Gemfile +0 -13
- data/rails_app/rails_7.0/Gemfile.lock +0 -212
- data/rails_app/rails_7.0/app/controllers/application_controller.rb +0 -4
- data/rails_app/rails_7.0/bin/bundle +0 -122
- data/rails_app/rails_7.0/bin/rails +0 -6
- data/rails_app/rails_7.0/bin/rake +0 -6
- data/rails_app/rails_7.0/config/application.rb +0 -41
- data/rails_app/rails_7.0/config/boot.rb +0 -5
- data/rails_app/rails_7.0/config/credentials.yml.enc +0 -1
- data/rails_app/rails_7.0/config/database.yml +0 -25
- data/rails_app/rails_7.0/config/environments/development.rb +0 -58
- data/rails_app/rails_7.0/config/environments/production.rb +0 -70
- data/rails_app/rails_7.0/config/environments/test.rb +0 -52
- data/rails_app/rails_7.0/config/initializers/filter_parameter_logging.rb +0 -8
- data/rails_app/rails_7.0/config/locales/en.yml +0 -33
- data/rails_app/rails_7.0/config/routes.rb +0 -8
- data/rails_app/rails_7.0/db/seeds.rb +0 -8
- data/rails_app/rails_7.1/Gemfile +0 -16
- data/rails_app/rails_7.1/Gemfile.lock +0 -241
- data/rails_app/rails_7.1/README.md +0 -24
- data/rails_app/rails_7.1/Rakefile +0 -8
- data/rails_app/rails_7.1/bin/bundle +0 -122
- data/rails_app/rails_7.1/bin/rails +0 -6
- data/rails_app/rails_7.1/bin/rake +0 -6
- data/rails_app/rails_7.1/config/boot.rb +0 -5
- data/rails_app/rails_7.1/config/credentials.yml.enc +0 -1
- data/rails_app/rails_7.1/config/environments/development.rb +0 -58
- data/rails_app/rails_7.1/config/environments/production.rb +0 -74
- data/rails_app/rails_7.1/config/puma.rb +0 -46
- data/rails_app/rails_7.1/public/robots.txt +0 -2
- data/rails_app/rails_7.1/spec/spec_helper.rb +0 -13
- data/rails_app/rails_7.1/vendor/.keep +0 -0
- data/rails_app/rails_7.2/.github/dependabot.yml +0 -12
- /data/rails_app/{rails_7.1 → rails_8.0}/.rspec +0 -0
- /data/rails_app/{rails_6.1 → rails_8.0}/README.md +0 -0
- /data/rails_app/{rails_6.1 → rails_8.0}/app/controllers/concerns/.keep +0 -0
- /data/rails_app/{rails_6.1/app/javascript → rails_8.0/app/models/concerns}/.keep +0 -0
- /data/rails_app/{rails_7.1 → rails_8.0}/config/locales/en.yml +0 -0
- /data/rails_app/{rails_6.1/app/models/concerns → rails_8.0/lib/tasks}/.keep +0 -0
- /data/rails_app/{rails_6.1/lib/tasks → rails_8.0/log}/.keep +0 -0
- /data/rails_app/{rails_6.1 → rails_8.0}/public/robots.txt +0 -0
- /data/rails_app/{rails_6.1/tmp → rails_8.0/script}/.keep +0 -0
- /data/rails_app/{rails_6.1 → rails_8.0}/spec/spec_helper.rb +0 -0
- /data/rails_app/{rails_6.1/tmp/pids → rails_8.0/storage}/.keep +0 -0
- /data/rails_app/{rails_6.1 → rails_8.0}/vendor/.keep +0 -0
- /data/rails_app/{rails_7.0 → rails_8.1}/README.md +0 -0
- /data/rails_app/{rails_7.1 → rails_8.1}/app/controllers/concerns/.keep +0 -0
- /data/rails_app/{rails_7.1 → rails_8.1}/app/models/concerns/.keep +0 -0
- /data/rails_app/{rails_7.1 → rails_8.1}/lib/tasks/.keep +0 -0
- /data/rails_app/{rails_7.1/storage → rails_8.1/log}/.keep +0 -0
- /data/rails_app/{rails_7.0 → rails_8.1}/public/robots.txt +0 -0
- /data/rails_app/{rails_7.1/tmp → rails_8.1/script}/.keep +0 -0
- /data/rails_app/{rails_7.0 → rails_8.1}/spec/spec_helper.rb +0 -0
- /data/rails_app/{rails_7.1/tmp/pids → rails_8.1/storage}/.keep +0 -0
- /data/rails_app/{rails_7.1/tmp/storage → rails_8.1/vendor}/.keep +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ../..
|
|
3
3
|
specs:
|
|
4
|
-
my_api_client (1.1
|
|
5
|
-
activesupport (>=
|
|
4
|
+
my_api_client (1.3.1)
|
|
5
|
+
activesupport (>= 7.2.0)
|
|
6
6
|
faraday (>= 0.17.1)
|
|
7
7
|
jsonpath
|
|
8
8
|
sawyer (>= 0.8.2)
|
|
@@ -10,108 +10,118 @@ PATH
|
|
|
10
10
|
GEM
|
|
11
11
|
remote: https://rubygems.org/
|
|
12
12
|
specs:
|
|
13
|
-
actioncable (7.2.1)
|
|
14
|
-
actionpack (= 7.2.1)
|
|
15
|
-
activesupport (= 7.2.1)
|
|
13
|
+
actioncable (7.2.3.1)
|
|
14
|
+
actionpack (= 7.2.3.1)
|
|
15
|
+
activesupport (= 7.2.3.1)
|
|
16
16
|
nio4r (~> 2.0)
|
|
17
17
|
websocket-driver (>= 0.6.1)
|
|
18
18
|
zeitwerk (~> 2.6)
|
|
19
|
-
actionmailbox (7.2.1)
|
|
20
|
-
actionpack (= 7.2.1)
|
|
21
|
-
activejob (= 7.2.1)
|
|
22
|
-
activerecord (= 7.2.1)
|
|
23
|
-
activestorage (= 7.2.1)
|
|
24
|
-
activesupport (= 7.2.1)
|
|
19
|
+
actionmailbox (7.2.3.1)
|
|
20
|
+
actionpack (= 7.2.3.1)
|
|
21
|
+
activejob (= 7.2.3.1)
|
|
22
|
+
activerecord (= 7.2.3.1)
|
|
23
|
+
activestorage (= 7.2.3.1)
|
|
24
|
+
activesupport (= 7.2.3.1)
|
|
25
25
|
mail (>= 2.8.0)
|
|
26
|
-
actionmailer (7.2.1)
|
|
27
|
-
actionpack (= 7.2.1)
|
|
28
|
-
actionview (= 7.2.1)
|
|
29
|
-
activejob (= 7.2.1)
|
|
30
|
-
activesupport (= 7.2.1)
|
|
26
|
+
actionmailer (7.2.3.1)
|
|
27
|
+
actionpack (= 7.2.3.1)
|
|
28
|
+
actionview (= 7.2.3.1)
|
|
29
|
+
activejob (= 7.2.3.1)
|
|
30
|
+
activesupport (= 7.2.3.1)
|
|
31
31
|
mail (>= 2.8.0)
|
|
32
32
|
rails-dom-testing (~> 2.2)
|
|
33
|
-
actionpack (7.2.1)
|
|
34
|
-
actionview (= 7.2.1)
|
|
35
|
-
activesupport (= 7.2.1)
|
|
33
|
+
actionpack (7.2.3.1)
|
|
34
|
+
actionview (= 7.2.3.1)
|
|
35
|
+
activesupport (= 7.2.3.1)
|
|
36
|
+
cgi
|
|
36
37
|
nokogiri (>= 1.8.5)
|
|
37
38
|
racc
|
|
38
|
-
rack (>= 2.2.4, < 3.
|
|
39
|
+
rack (>= 2.2.4, < 3.3)
|
|
39
40
|
rack-session (>= 1.0.1)
|
|
40
41
|
rack-test (>= 0.6.3)
|
|
41
42
|
rails-dom-testing (~> 2.2)
|
|
42
43
|
rails-html-sanitizer (~> 1.6)
|
|
43
44
|
useragent (~> 0.16)
|
|
44
|
-
actiontext (7.2.1)
|
|
45
|
-
actionpack (= 7.2.1)
|
|
46
|
-
activerecord (= 7.2.1)
|
|
47
|
-
activestorage (= 7.2.1)
|
|
48
|
-
activesupport (= 7.2.1)
|
|
45
|
+
actiontext (7.2.3.1)
|
|
46
|
+
actionpack (= 7.2.3.1)
|
|
47
|
+
activerecord (= 7.2.3.1)
|
|
48
|
+
activestorage (= 7.2.3.1)
|
|
49
|
+
activesupport (= 7.2.3.1)
|
|
49
50
|
globalid (>= 0.6.0)
|
|
50
51
|
nokogiri (>= 1.8.5)
|
|
51
|
-
actionview (7.2.1)
|
|
52
|
-
activesupport (= 7.2.1)
|
|
52
|
+
actionview (7.2.3.1)
|
|
53
|
+
activesupport (= 7.2.3.1)
|
|
53
54
|
builder (~> 3.1)
|
|
55
|
+
cgi
|
|
54
56
|
erubi (~> 1.11)
|
|
55
57
|
rails-dom-testing (~> 2.2)
|
|
56
58
|
rails-html-sanitizer (~> 1.6)
|
|
57
|
-
activejob (7.2.1)
|
|
58
|
-
activesupport (= 7.2.1)
|
|
59
|
+
activejob (7.2.3.1)
|
|
60
|
+
activesupport (= 7.2.3.1)
|
|
59
61
|
globalid (>= 0.3.6)
|
|
60
|
-
activemodel (7.2.1)
|
|
61
|
-
activesupport (= 7.2.1)
|
|
62
|
-
activerecord (7.2.1)
|
|
63
|
-
activemodel (= 7.2.1)
|
|
64
|
-
activesupport (= 7.2.1)
|
|
62
|
+
activemodel (7.2.3.1)
|
|
63
|
+
activesupport (= 7.2.3.1)
|
|
64
|
+
activerecord (7.2.3.1)
|
|
65
|
+
activemodel (= 7.2.3.1)
|
|
66
|
+
activesupport (= 7.2.3.1)
|
|
65
67
|
timeout (>= 0.4.0)
|
|
66
|
-
activestorage (7.2.1)
|
|
67
|
-
actionpack (= 7.2.1)
|
|
68
|
-
activejob (= 7.2.1)
|
|
69
|
-
activerecord (= 7.2.1)
|
|
70
|
-
activesupport (= 7.2.1)
|
|
68
|
+
activestorage (7.2.3.1)
|
|
69
|
+
actionpack (= 7.2.3.1)
|
|
70
|
+
activejob (= 7.2.3.1)
|
|
71
|
+
activerecord (= 7.2.3.1)
|
|
72
|
+
activesupport (= 7.2.3.1)
|
|
71
73
|
marcel (~> 1.0)
|
|
72
|
-
activesupport (7.2.1)
|
|
74
|
+
activesupport (7.2.3.1)
|
|
73
75
|
base64
|
|
76
|
+
benchmark (>= 0.3)
|
|
74
77
|
bigdecimal
|
|
75
78
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
76
79
|
connection_pool (>= 2.2.5)
|
|
77
80
|
drb
|
|
78
81
|
i18n (>= 1.6, < 2)
|
|
79
82
|
logger (>= 1.4.2)
|
|
80
|
-
minitest (>= 5.1)
|
|
83
|
+
minitest (>= 5.1, < 6)
|
|
81
84
|
securerandom (>= 0.3)
|
|
82
85
|
tzinfo (~> 2.0, >= 2.0.5)
|
|
83
|
-
addressable (2.8.
|
|
84
|
-
public_suffix (>= 2.0.2, <
|
|
85
|
-
base64 (0.
|
|
86
|
-
|
|
86
|
+
addressable (2.8.8)
|
|
87
|
+
public_suffix (>= 2.0.2, < 8.0)
|
|
88
|
+
base64 (0.3.0)
|
|
89
|
+
benchmark (0.5.0)
|
|
90
|
+
bigdecimal (4.0.1)
|
|
87
91
|
builder (3.3.0)
|
|
88
|
-
|
|
89
|
-
|
|
92
|
+
cgi (0.5.2)
|
|
93
|
+
concurrent-ruby (1.3.6)
|
|
94
|
+
connection_pool (3.0.2)
|
|
90
95
|
crass (1.0.6)
|
|
91
|
-
date (3.
|
|
92
|
-
debug (1.
|
|
96
|
+
date (3.5.1)
|
|
97
|
+
debug (1.11.1)
|
|
93
98
|
irb (~> 1.10)
|
|
94
99
|
reline (>= 0.3.8)
|
|
95
|
-
diff-lcs (1.
|
|
96
|
-
drb (2.2.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
+
diff-lcs (1.6.2)
|
|
101
|
+
drb (2.2.3)
|
|
102
|
+
erb (6.0.2)
|
|
103
|
+
erubi (1.13.1)
|
|
104
|
+
faraday (2.14.3)
|
|
105
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
106
|
+
json
|
|
100
107
|
logger
|
|
101
|
-
faraday-net_http (3.
|
|
102
|
-
net-http
|
|
108
|
+
faraday-net_http (3.4.4)
|
|
109
|
+
net-http (~> 0.5)
|
|
103
110
|
globalid (1.2.1)
|
|
104
111
|
activesupport (>= 6.1)
|
|
105
|
-
i18n (1.14.
|
|
112
|
+
i18n (1.14.8)
|
|
106
113
|
concurrent-ruby (~> 1.0)
|
|
107
|
-
io-console (0.
|
|
108
|
-
irb (1.
|
|
114
|
+
io-console (0.8.2)
|
|
115
|
+
irb (1.17.0)
|
|
116
|
+
pp (>= 0.6.0)
|
|
117
|
+
prism (>= 1.3.0)
|
|
109
118
|
rdoc (>= 4.0.0)
|
|
110
119
|
reline (>= 0.4.2)
|
|
120
|
+
json (2.20.0)
|
|
111
121
|
jsonpath (1.1.5)
|
|
112
122
|
multi_json
|
|
113
|
-
logger (1.
|
|
114
|
-
loofah (2.
|
|
123
|
+
logger (1.7.0)
|
|
124
|
+
loofah (2.25.1)
|
|
115
125
|
crass (~> 1.0.2)
|
|
116
126
|
nokogiri (>= 1.12.0)
|
|
117
127
|
mail (2.8.1)
|
|
@@ -121,11 +131,11 @@ GEM
|
|
|
121
131
|
net-smtp
|
|
122
132
|
marcel (1.0.4)
|
|
123
133
|
mini_mime (1.1.5)
|
|
124
|
-
minitest (5.
|
|
134
|
+
minitest (5.27.0)
|
|
125
135
|
multi_json (1.15.0)
|
|
126
|
-
net-http (0.
|
|
127
|
-
uri
|
|
128
|
-
net-imap (0.4.
|
|
136
|
+
net-http (0.9.1)
|
|
137
|
+
uri (>= 0.11.1)
|
|
138
|
+
net-imap (0.4.20)
|
|
129
139
|
date
|
|
130
140
|
net-protocol
|
|
131
141
|
net-pop (0.1.2)
|
|
@@ -134,100 +144,111 @@ GEM
|
|
|
134
144
|
timeout
|
|
135
145
|
net-smtp (0.5.0)
|
|
136
146
|
net-protocol
|
|
137
|
-
nio4r (2.7.
|
|
138
|
-
nokogiri (1.
|
|
147
|
+
nio4r (2.7.5)
|
|
148
|
+
nokogiri (1.19.2-x86_64-darwin)
|
|
139
149
|
racc (~> 1.4)
|
|
140
|
-
nokogiri (1.
|
|
150
|
+
nokogiri (1.19.2-x86_64-linux-gnu)
|
|
141
151
|
racc (~> 1.4)
|
|
142
|
-
|
|
152
|
+
pp (0.6.3)
|
|
153
|
+
prettyprint
|
|
154
|
+
prettyprint (0.2.0)
|
|
155
|
+
prism (1.9.0)
|
|
156
|
+
psych (5.3.1)
|
|
157
|
+
date
|
|
143
158
|
stringio
|
|
144
|
-
public_suffix (
|
|
145
|
-
puma (
|
|
159
|
+
public_suffix (7.0.2)
|
|
160
|
+
puma (7.2.0)
|
|
146
161
|
nio4r (~> 2.0)
|
|
147
162
|
racc (1.8.1)
|
|
148
|
-
rack (3.
|
|
149
|
-
rack-session (2.
|
|
163
|
+
rack (3.2.5)
|
|
164
|
+
rack-session (2.1.1)
|
|
165
|
+
base64 (>= 0.1.0)
|
|
150
166
|
rack (>= 3.0.0)
|
|
151
|
-
rack-test (2.
|
|
167
|
+
rack-test (2.2.0)
|
|
152
168
|
rack (>= 1.3)
|
|
153
|
-
rackup (2.1
|
|
169
|
+
rackup (2.3.1)
|
|
154
170
|
rack (>= 3)
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
activesupport (= 7.2.1)
|
|
171
|
+
rails (7.2.3.1)
|
|
172
|
+
actioncable (= 7.2.3.1)
|
|
173
|
+
actionmailbox (= 7.2.3.1)
|
|
174
|
+
actionmailer (= 7.2.3.1)
|
|
175
|
+
actionpack (= 7.2.3.1)
|
|
176
|
+
actiontext (= 7.2.3.1)
|
|
177
|
+
actionview (= 7.2.3.1)
|
|
178
|
+
activejob (= 7.2.3.1)
|
|
179
|
+
activemodel (= 7.2.3.1)
|
|
180
|
+
activerecord (= 7.2.3.1)
|
|
181
|
+
activestorage (= 7.2.3.1)
|
|
182
|
+
activesupport (= 7.2.3.1)
|
|
168
183
|
bundler (>= 1.15.0)
|
|
169
|
-
railties (= 7.2.1)
|
|
170
|
-
rails-dom-testing (2.
|
|
184
|
+
railties (= 7.2.3.1)
|
|
185
|
+
rails-dom-testing (2.3.0)
|
|
171
186
|
activesupport (>= 5.0.0)
|
|
172
187
|
minitest
|
|
173
188
|
nokogiri (>= 1.6)
|
|
174
|
-
rails-html-sanitizer (1.
|
|
175
|
-
loofah (~> 2.
|
|
176
|
-
nokogiri (
|
|
177
|
-
railties (7.2.1)
|
|
178
|
-
actionpack (= 7.2.1)
|
|
179
|
-
activesupport (= 7.2.1)
|
|
189
|
+
rails-html-sanitizer (1.7.0)
|
|
190
|
+
loofah (~> 2.25)
|
|
191
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
192
|
+
railties (7.2.3.1)
|
|
193
|
+
actionpack (= 7.2.3.1)
|
|
194
|
+
activesupport (= 7.2.3.1)
|
|
195
|
+
cgi
|
|
180
196
|
irb (~> 1.13)
|
|
181
197
|
rackup (>= 1.0.0)
|
|
182
198
|
rake (>= 12.2)
|
|
183
199
|
thor (~> 1.0, >= 1.2.2)
|
|
200
|
+
tsort (>= 0.2)
|
|
184
201
|
zeitwerk (~> 2.6)
|
|
185
|
-
rake (13.2
|
|
186
|
-
rdoc (
|
|
202
|
+
rake (13.4.2)
|
|
203
|
+
rdoc (7.2.0)
|
|
204
|
+
erb
|
|
187
205
|
psych (>= 4.0.0)
|
|
188
|
-
|
|
206
|
+
tsort
|
|
207
|
+
reline (0.6.3)
|
|
189
208
|
io-console (~> 0.5)
|
|
190
|
-
rspec-core (3.13.
|
|
209
|
+
rspec-core (3.13.6)
|
|
191
210
|
rspec-support (~> 3.13.0)
|
|
192
|
-
rspec-expectations (3.13.
|
|
211
|
+
rspec-expectations (3.13.5)
|
|
193
212
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
194
213
|
rspec-support (~> 3.13.0)
|
|
195
|
-
rspec-mocks (3.13.
|
|
214
|
+
rspec-mocks (3.13.8)
|
|
196
215
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
197
216
|
rspec-support (~> 3.13.0)
|
|
198
|
-
rspec-rails (
|
|
199
|
-
actionpack (>= 7.
|
|
200
|
-
activesupport (>= 7.
|
|
201
|
-
railties (>= 7.
|
|
202
|
-
rspec-core (
|
|
203
|
-
rspec-expectations (
|
|
204
|
-
rspec-mocks (
|
|
205
|
-
rspec-support (
|
|
206
|
-
rspec-support (3.13.
|
|
207
|
-
sawyer (0.9.
|
|
217
|
+
rspec-rails (8.0.4)
|
|
218
|
+
actionpack (>= 7.2)
|
|
219
|
+
activesupport (>= 7.2)
|
|
220
|
+
railties (>= 7.2)
|
|
221
|
+
rspec-core (>= 3.13.0, < 5.0.0)
|
|
222
|
+
rspec-expectations (>= 3.13.0, < 5.0.0)
|
|
223
|
+
rspec-mocks (>= 3.13.0, < 5.0.0)
|
|
224
|
+
rspec-support (>= 3.13.0, < 5.0.0)
|
|
225
|
+
rspec-support (3.13.7)
|
|
226
|
+
sawyer (0.9.3)
|
|
208
227
|
addressable (>= 2.3.5)
|
|
209
228
|
faraday (>= 0.17.3, < 3)
|
|
210
|
-
securerandom (0.
|
|
211
|
-
sqlite3 (2.
|
|
212
|
-
sqlite3 (2.
|
|
213
|
-
stringio (3.
|
|
214
|
-
thor (1.
|
|
215
|
-
timeout (0.
|
|
229
|
+
securerandom (0.4.1)
|
|
230
|
+
sqlite3 (2.9.5-x86_64-darwin)
|
|
231
|
+
sqlite3 (2.9.5-x86_64-linux-gnu)
|
|
232
|
+
stringio (3.2.0)
|
|
233
|
+
thor (1.5.0)
|
|
234
|
+
timeout (0.6.0)
|
|
235
|
+
tsort (0.2.0)
|
|
216
236
|
tzinfo (2.0.6)
|
|
217
237
|
concurrent-ruby (~> 1.0)
|
|
218
|
-
uri (
|
|
219
|
-
useragent (0.16.
|
|
220
|
-
webrick (1.8.1)
|
|
238
|
+
uri (1.1.1)
|
|
239
|
+
useragent (0.16.11)
|
|
221
240
|
websocket-driver (0.7.6)
|
|
222
241
|
websocket-extensions (>= 0.1.0)
|
|
223
242
|
websocket-extensions (0.1.5)
|
|
224
|
-
zeitwerk (2.
|
|
243
|
+
zeitwerk (2.7.5)
|
|
225
244
|
|
|
226
245
|
PLATFORMS
|
|
227
246
|
x86_64-darwin-23
|
|
228
247
|
x86_64-linux
|
|
229
248
|
|
|
230
249
|
DEPENDENCIES
|
|
250
|
+
benchmark
|
|
251
|
+
cgi
|
|
231
252
|
debug
|
|
232
253
|
my_api_client!
|
|
233
254
|
puma (>= 5.0)
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
# Ignore git directory.
|
|
4
4
|
/.git/
|
|
5
|
+
/.gitignore
|
|
5
6
|
|
|
6
7
|
# Ignore bundler config.
|
|
7
8
|
/.bundle
|
|
8
9
|
|
|
9
|
-
# Ignore all environment files
|
|
10
|
+
# Ignore all environment files.
|
|
10
11
|
/.env*
|
|
11
|
-
!/.env*.erb
|
|
12
12
|
|
|
13
13
|
# Ignore all default key files.
|
|
14
14
|
/config/master.key
|
|
@@ -29,3 +29,17 @@
|
|
|
29
29
|
!/storage/.keep
|
|
30
30
|
/tmp/storage/*
|
|
31
31
|
!/tmp/storage/.keep
|
|
32
|
+
|
|
33
|
+
# Ignore CI service files.
|
|
34
|
+
/.github
|
|
35
|
+
|
|
36
|
+
# Ignore Kamal files.
|
|
37
|
+
/config/deploy*.yml
|
|
38
|
+
/.kamal
|
|
39
|
+
|
|
40
|
+
# Ignore development files
|
|
41
|
+
/.devcontainer
|
|
42
|
+
|
|
43
|
+
# Ignore Docker-related files
|
|
44
|
+
/.dockerignore
|
|
45
|
+
/Dockerfile*
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# Mark the database schema as having been generated.
|
|
4
4
|
db/schema.rb linguist-generated
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
# Mark any vendored files as having been vendored.
|
|
8
7
|
vendor/* linguist-vendored
|
|
8
|
+
config/credentials/*.yml.enc diff=rails_credentials
|
|
9
|
+
config/credentials.yml.enc diff=rails_credentials
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches: [ main ]
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
scan_ruby:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout code
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Set up Ruby
|
|
17
|
+
uses: ruby/setup-ruby@v1
|
|
18
|
+
with:
|
|
19
|
+
ruby-version: .ruby-version
|
|
20
|
+
bundler-cache: true
|
|
21
|
+
|
|
22
|
+
- name: Scan for common Rails security vulnerabilities using static analysis
|
|
23
|
+
run: bin/brakeman --no-pager
|
|
24
|
+
|
|
25
|
+
lint:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout code
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
- name: Set up Ruby
|
|
32
|
+
uses: ruby/setup-ruby@v1
|
|
33
|
+
with:
|
|
34
|
+
ruby-version: .ruby-version
|
|
35
|
+
bundler-cache: true
|
|
36
|
+
|
|
37
|
+
- name: Lint code for consistent style
|
|
38
|
+
run: bin/rubocop -f github
|
|
39
|
+
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
|
2
2
|
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Temporary files generated by your text editor or operating system
|
|
4
|
+
# belong in git's global ignore instead:
|
|
5
|
+
# `$XDG_CONFIG_HOME/git/ignore` or `~/.config/git/ignore`
|
|
6
6
|
|
|
7
7
|
# Ignore bundler config.
|
|
8
8
|
/.bundle
|
|
9
9
|
|
|
10
|
-
# Ignore
|
|
11
|
-
|
|
12
|
-
/db/*.sqlite3-*
|
|
10
|
+
# Ignore all environment files.
|
|
11
|
+
/.env*
|
|
13
12
|
|
|
14
13
|
# Ignore all logfiles and tempfiles.
|
|
15
14
|
/log/*
|
|
@@ -22,7 +21,12 @@
|
|
|
22
21
|
!/tmp/pids/
|
|
23
22
|
!/tmp/pids/.keep
|
|
24
23
|
|
|
25
|
-
.
|
|
24
|
+
# Ignore storage (uploaded files in development and any SQLite databases).
|
|
25
|
+
/storage/*
|
|
26
|
+
!/storage/.keep
|
|
27
|
+
/tmp/storage/*
|
|
28
|
+
!/tmp/storage/
|
|
29
|
+
!/tmp/storage/.keep
|
|
26
30
|
|
|
27
31
|
# Ignore master key for decrypting credentials and more.
|
|
28
32
|
/config/master.key
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby-3.2.9
|
|
@@ -1,25 +1,37 @@
|
|
|
1
|
-
# syntax
|
|
1
|
+
# syntax=docker/dockerfile:1
|
|
2
|
+
# check=error=true
|
|
2
3
|
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
# This Dockerfile is designed for production, not development. Use with Kamal or build'n'run by hand:
|
|
5
|
+
# docker build -t rails80 .
|
|
6
|
+
# docker run -d -p 80:80 -e RAILS_MASTER_KEY=<value from config/master.key> --name rails80 rails80
|
|
7
|
+
|
|
8
|
+
# For a containerized dev environment, see Dev Containers: https://guides.rubyonrails.org/getting_started_with_devcontainer.html
|
|
9
|
+
|
|
10
|
+
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version
|
|
11
|
+
ARG RUBY_VERSION=3.2.9
|
|
12
|
+
FROM docker.io/library/ruby:$RUBY_VERSION-slim AS base
|
|
6
13
|
|
|
7
14
|
# Rails app lives here
|
|
8
15
|
WORKDIR /rails
|
|
9
16
|
|
|
17
|
+
# Install base packages
|
|
18
|
+
RUN apt-get update -qq && \
|
|
19
|
+
apt-get install --no-install-recommends -y curl libjemalloc2 libvips sqlite3 && \
|
|
20
|
+
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
|
21
|
+
|
|
10
22
|
# Set production environment
|
|
11
23
|
ENV RAILS_ENV="production" \
|
|
12
24
|
BUNDLE_DEPLOYMENT="1" \
|
|
13
25
|
BUNDLE_PATH="/usr/local/bundle" \
|
|
14
26
|
BUNDLE_WITHOUT="development"
|
|
15
27
|
|
|
16
|
-
|
|
17
28
|
# Throw-away build stage to reduce size of final image
|
|
18
|
-
FROM base
|
|
29
|
+
FROM base AS build
|
|
19
30
|
|
|
20
31
|
# Install packages needed to build gems
|
|
21
32
|
RUN apt-get update -qq && \
|
|
22
|
-
apt-get install --no-install-recommends -y build-essential git pkg-config
|
|
33
|
+
apt-get install --no-install-recommends -y build-essential git libyaml-dev pkg-config && \
|
|
34
|
+
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
|
23
35
|
|
|
24
36
|
# Install application gems
|
|
25
37
|
COPY Gemfile Gemfile.lock ./
|
|
@@ -30,26 +42,24 @@ RUN bundle install && \
|
|
|
30
42
|
COPY . .
|
|
31
43
|
|
|
32
44
|
|
|
45
|
+
|
|
46
|
+
|
|
33
47
|
# Final stage for app image
|
|
34
48
|
FROM base
|
|
35
49
|
|
|
36
|
-
# Install packages needed for deployment
|
|
37
|
-
RUN apt-get update -qq && \
|
|
38
|
-
apt-get install --no-install-recommends -y curl libsqlite3-0 && \
|
|
39
|
-
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
|
40
|
-
|
|
41
50
|
# Copy built artifacts: gems, application
|
|
42
|
-
COPY --from=build
|
|
51
|
+
COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}"
|
|
43
52
|
COPY --from=build /rails /rails
|
|
44
53
|
|
|
45
54
|
# Run and own only the runtime files as a non-root user for security
|
|
46
|
-
RUN
|
|
55
|
+
RUN groupadd --system --gid 1000 rails && \
|
|
56
|
+
useradd rails --uid 1000 --gid 1000 --create-home --shell /bin/bash && \
|
|
47
57
|
chown -R rails:rails db log storage tmp
|
|
48
|
-
USER
|
|
58
|
+
USER 1000:1000
|
|
49
59
|
|
|
50
60
|
# Entrypoint prepares the database.
|
|
51
61
|
ENTRYPOINT ["/rails/bin/docker-entrypoint"]
|
|
52
62
|
|
|
53
|
-
# Start
|
|
54
|
-
EXPOSE
|
|
55
|
-
CMD ["./bin/rails", "server"]
|
|
63
|
+
# Start server via Thruster by default, this can be overwritten at runtime
|
|
64
|
+
EXPOSE 80
|
|
65
|
+
CMD ["./bin/thrust", "./bin/rails", "server"]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
gem 'rails', '~> 8.0.4'
|
|
4
|
+
gem 'sqlite3', '>= 2.1'
|
|
5
|
+
gem 'puma', '>= 5.0'
|
|
6
|
+
gem 'tzinfo-data', platforms: %i[windows jruby]
|
|
7
|
+
|
|
8
|
+
gem 'my_api_client', path: '../..'
|
|
9
|
+
gem 'benchmark'
|
|
10
|
+
gem 'cgi'
|
|
11
|
+
|
|
12
|
+
group :development, :test do
|
|
13
|
+
gem 'debug', platforms: %i[mri windows], require: 'debug/prelude'
|
|
14
|
+
gem 'rspec-rails'
|
|
15
|
+
end
|