hephaestus 0.7.2 → 0.7.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/app/controllers/concerns/hephaestus/responses.rb +107 -0
  4. data/app/controllers/concerns/hephaestus/validates_from_yetto.rb +51 -0
  5. data/app/controllers/hephaestus/application_controller.rb +42 -0
  6. data/app/controllers/hephaestus/root_controller.rb +10 -0
  7. data/app/controllers/hephaestus/settings_controller.rb +20 -0
  8. data/app/controllers/hephaestus/staff_controller.rb +20 -0
  9. data/app/jobs/hephaestus/application_job.rb +12 -0
  10. data/app/jobs/hephaestus/update_yetto_job.rb +39 -0
  11. data/app/models/hephaestus/application_record.rb +8 -0
  12. data/app/serializers/hephaestus/error_serializer.rb +18 -0
  13. data/app/serializers/hephaestus/headers.rb +27 -0
  14. data/app/services/hephaestus/yetto_service.rb +99 -0
  15. data/app/views/layouts/staff.html.erb +7 -0
  16. data/app/views/staff/index.html.erb +1 -0
  17. data/config/database.yml +49 -0
  18. data/config/environments/development.rb +89 -0
  19. data/config/environments/production.rb +96 -0
  20. data/config/environments/staging.rb +94 -0
  21. data/config/environments/test.rb +73 -0
  22. data/config/initializers/application.rb +14 -0
  23. data/config/initializers/cors.rb +19 -0
  24. data/config/initializers/environment.rb +94 -0
  25. data/config/initializers/filter_parameter_logging.rb +23 -0
  26. data/config/initializers/inflections.rb +21 -0
  27. data/config/initializers/litestream.rb +36 -0
  28. data/config/initializers/lograge.rb +27 -0
  29. data/config/initializers/opentelemetry.rb +41 -0
  30. data/config/initializers/sidekiq.rb +13 -0
  31. data/config/initializers/slack_webhook_logger.rb +19 -0
  32. data/config/litestream.yml +12 -0
  33. data/config/queue.yml +18 -0
  34. data/config/recurring.yml +10 -0
  35. data/config/routes.rb +17 -0
  36. data/db/queue_schema.rb +129 -0
  37. data/lib/hephaestus/version.rb +1 -1
  38. metadata +36 -19
  39. data/templates/.dockerignore +0 -39
  40. data/templates/.env.sample +0 -6
  41. data/templates/.github/dependabot.yml +0 -27
  42. data/templates/.github/workflows/automerge.yml +0 -17
  43. data/templates/.github/workflows/deploy.yml +0 -30
  44. data/templates/.github/workflows/licenses.yml +0 -23
  45. data/templates/.github/workflows/lint.yml +0 -32
  46. data/templates/.github/workflows/security.yml +0 -15
  47. data/templates/.github/workflows/sorbet.yml +0 -19
  48. data/templates/.github/workflows/test.yml +0 -21
  49. data/templates/.licensed.yml +0 -43
  50. data/templates/.rubocop.yml +0 -5
  51. data/templates/.ruby-version +0 -1
  52. data/templates/.vscode/extensions.json +0 -9
  53. data/templates/.vscode/launch.json +0 -13
  54. data/templates/.vscode/settings.json +0 -52
  55. data/templates/test/integration/.keep +0 -0
  56. data/templates/test/mailers/.keep +0 -0
@@ -0,0 +1,129 @@
1
+ ActiveRecord::Schema[7.1].define(version: 1) do
2
+ create_table "solid_queue_blocked_executions", force: :cascade do |t|
3
+ t.bigint "job_id", null: false
4
+ t.string "queue_name", null: false
5
+ t.integer "priority", default: 0, null: false
6
+ t.string "concurrency_key", null: false
7
+ t.datetime "expires_at", null: false
8
+ t.datetime "created_at", null: false
9
+ t.index [ "concurrency_key", "priority", "job_id" ], name: "index_solid_queue_blocked_executions_for_release"
10
+ t.index [ "expires_at", "concurrency_key" ], name: "index_solid_queue_blocked_executions_for_maintenance"
11
+ t.index [ "job_id" ], name: "index_solid_queue_blocked_executions_on_job_id", unique: true
12
+ end
13
+
14
+ create_table "solid_queue_claimed_executions", force: :cascade do |t|
15
+ t.bigint "job_id", null: false
16
+ t.bigint "process_id"
17
+ t.datetime "created_at", null: false
18
+ t.index [ "job_id" ], name: "index_solid_queue_claimed_executions_on_job_id", unique: true
19
+ t.index [ "process_id", "job_id" ], name: "index_solid_queue_claimed_executions_on_process_id_and_job_id"
20
+ end
21
+
22
+ create_table "solid_queue_failed_executions", force: :cascade do |t|
23
+ t.bigint "job_id", null: false
24
+ t.text "error"
25
+ t.datetime "created_at", null: false
26
+ t.index [ "job_id" ], name: "index_solid_queue_failed_executions_on_job_id", unique: true
27
+ end
28
+
29
+ create_table "solid_queue_jobs", force: :cascade do |t|
30
+ t.string "queue_name", null: false
31
+ t.string "class_name", null: false
32
+ t.text "arguments"
33
+ t.integer "priority", default: 0, null: false
34
+ t.string "active_job_id"
35
+ t.datetime "scheduled_at"
36
+ t.datetime "finished_at"
37
+ t.string "concurrency_key"
38
+ t.datetime "created_at", null: false
39
+ t.datetime "updated_at", null: false
40
+ t.index [ "active_job_id" ], name: "index_solid_queue_jobs_on_active_job_id"
41
+ t.index [ "class_name" ], name: "index_solid_queue_jobs_on_class_name"
42
+ t.index [ "finished_at" ], name: "index_solid_queue_jobs_on_finished_at"
43
+ t.index [ "queue_name", "finished_at" ], name: "index_solid_queue_jobs_for_filtering"
44
+ t.index [ "scheduled_at", "finished_at" ], name: "index_solid_queue_jobs_for_alerting"
45
+ end
46
+
47
+ create_table "solid_queue_pauses", force: :cascade do |t|
48
+ t.string "queue_name", null: false
49
+ t.datetime "created_at", null: false
50
+ t.index [ "queue_name" ], name: "index_solid_queue_pauses_on_queue_name", unique: true
51
+ end
52
+
53
+ create_table "solid_queue_processes", force: :cascade do |t|
54
+ t.string "kind", null: false
55
+ t.datetime "last_heartbeat_at", null: false
56
+ t.bigint "supervisor_id"
57
+ t.integer "pid", null: false
58
+ t.string "hostname"
59
+ t.text "metadata"
60
+ t.datetime "created_at", null: false
61
+ t.string "name", null: false
62
+ t.index [ "last_heartbeat_at" ], name: "index_solid_queue_processes_on_last_heartbeat_at"
63
+ t.index [ "name", "supervisor_id" ], name: "index_solid_queue_processes_on_name_and_supervisor_id", unique: true
64
+ t.index [ "supervisor_id" ], name: "index_solid_queue_processes_on_supervisor_id"
65
+ end
66
+
67
+ create_table "solid_queue_ready_executions", force: :cascade do |t|
68
+ t.bigint "job_id", null: false
69
+ t.string "queue_name", null: false
70
+ t.integer "priority", default: 0, null: false
71
+ t.datetime "created_at", null: false
72
+ t.index [ "job_id" ], name: "index_solid_queue_ready_executions_on_job_id", unique: true
73
+ t.index [ "priority", "job_id" ], name: "index_solid_queue_poll_all"
74
+ t.index [ "queue_name", "priority", "job_id" ], name: "index_solid_queue_poll_by_queue"
75
+ end
76
+
77
+ create_table "solid_queue_recurring_executions", force: :cascade do |t|
78
+ t.bigint "job_id", null: false
79
+ t.string "task_key", null: false
80
+ t.datetime "run_at", null: false
81
+ t.datetime "created_at", null: false
82
+ t.index [ "job_id" ], name: "index_solid_queue_recurring_executions_on_job_id", unique: true
83
+ t.index [ "task_key", "run_at" ], name: "index_solid_queue_recurring_executions_on_task_key_and_run_at", unique: true
84
+ end
85
+
86
+ create_table "solid_queue_recurring_tasks", force: :cascade do |t|
87
+ t.string "key", null: false
88
+ t.string "schedule", null: false
89
+ t.string "command", limit: 2048
90
+ t.string "class_name"
91
+ t.text "arguments"
92
+ t.string "queue_name"
93
+ t.integer "priority", default: 0
94
+ t.boolean "static", default: true, null: false
95
+ t.text "description"
96
+ t.datetime "created_at", null: false
97
+ t.datetime "updated_at", null: false
98
+ t.index [ "key" ], name: "index_solid_queue_recurring_tasks_on_key", unique: true
99
+ t.index [ "static" ], name: "index_solid_queue_recurring_tasks_on_static"
100
+ end
101
+
102
+ create_table "solid_queue_scheduled_executions", force: :cascade do |t|
103
+ t.bigint "job_id", null: false
104
+ t.string "queue_name", null: false
105
+ t.integer "priority", default: 0, null: false
106
+ t.datetime "scheduled_at", null: false
107
+ t.datetime "created_at", null: false
108
+ t.index [ "job_id" ], name: "index_solid_queue_scheduled_executions_on_job_id", unique: true
109
+ t.index [ "scheduled_at", "priority", "job_id" ], name: "index_solid_queue_dispatch_all"
110
+ end
111
+
112
+ create_table "solid_queue_semaphores", force: :cascade do |t|
113
+ t.string "key", null: false
114
+ t.integer "value", default: 1, null: false
115
+ t.datetime "expires_at", null: false
116
+ t.datetime "created_at", null: false
117
+ t.datetime "updated_at", null: false
118
+ t.index [ "expires_at" ], name: "index_solid_queue_semaphores_on_expires_at"
119
+ t.index [ "key", "value" ], name: "index_solid_queue_semaphores_on_key_and_value"
120
+ t.index [ "key" ], name: "index_solid_queue_semaphores_on_key", unique: true
121
+ end
122
+
123
+ add_foreign_key "solid_queue_blocked_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
124
+ add_foreign_key "solid_queue_claimed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
125
+ add_foreign_key "solid_queue_failed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
126
+ add_foreign_key "solid_queue_ready_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
127
+ add_foreign_key "solid_queue_recurring_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
128
+ add_foreign_key "solid_queue_scheduled_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
129
+ end
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Hephaestus
5
- VERSION = "0.7.2"
5
+ VERSION = "0.7.2.1"
6
6
  RAILS_VERSION = ">= 8.0"
7
7
  RUBY_VERSION = File
8
8
  .read("#{File.dirname(__FILE__)}/../../.ruby-version")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hephaestus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
@@ -413,7 +413,41 @@ files:
413
413
  - CHANGELOG.md
414
414
  - LICENSE.txt
415
415
  - README.md
416
+ - app/controllers/concerns/hephaestus/responses.rb
417
+ - app/controllers/concerns/hephaestus/validates_from_yetto.rb
418
+ - app/controllers/hephaestus/application_controller.rb
419
+ - app/controllers/hephaestus/root_controller.rb
420
+ - app/controllers/hephaestus/settings_controller.rb
421
+ - app/controllers/hephaestus/staff_controller.rb
422
+ - app/jobs/hephaestus/application_job.rb
423
+ - app/jobs/hephaestus/update_yetto_job.rb
424
+ - app/models/hephaestus/application_record.rb
425
+ - app/serializers/hephaestus/error_serializer.rb
426
+ - app/serializers/hephaestus/headers.rb
427
+ - app/services/hephaestus/yetto_service.rb
428
+ - app/views/layouts/staff.html.erb
429
+ - app/views/staff/index.html.erb
416
430
  - bin/hephaestus
431
+ - config/database.yml
432
+ - config/environments/development.rb
433
+ - config/environments/production.rb
434
+ - config/environments/staging.rb
435
+ - config/environments/test.rb
436
+ - config/initializers/application.rb
437
+ - config/initializers/cors.rb
438
+ - config/initializers/environment.rb
439
+ - config/initializers/filter_parameter_logging.rb
440
+ - config/initializers/inflections.rb
441
+ - config/initializers/litestream.rb
442
+ - config/initializers/lograge.rb
443
+ - config/initializers/opentelemetry.rb
444
+ - config/initializers/sidekiq.rb
445
+ - config/initializers/slack_webhook_logger.rb
446
+ - config/litestream.yml
447
+ - config/queue.yml
448
+ - config/recurring.yml
449
+ - config/routes.rb
450
+ - db/queue_schema.rb
417
451
  - lib/Rakefile
418
452
  - lib/hephaestus.rb
419
453
  - lib/hephaestus/actions.rb
@@ -446,22 +480,6 @@ files:
446
480
  - lib/tasks/package.rake
447
481
  - lib/tasks/rubocop.rake
448
482
  - lib/version.rb
449
- - templates/.dockerignore
450
- - templates/.env.sample
451
- - templates/.github/dependabot.yml
452
- - templates/.github/workflows/automerge.yml
453
- - templates/.github/workflows/deploy.yml
454
- - templates/.github/workflows/licenses.yml
455
- - templates/.github/workflows/lint.yml
456
- - templates/.github/workflows/security.yml
457
- - templates/.github/workflows/sorbet.yml
458
- - templates/.github/workflows/test.yml
459
- - templates/.licensed.yml
460
- - templates/.rubocop.yml
461
- - templates/.ruby-version
462
- - templates/.vscode/extensions.json
463
- - templates/.vscode/launch.json
464
- - templates/.vscode/settings.json
465
483
  - templates/Dockerfile
466
484
  - templates/Gemfile.erb
467
485
  - templates/Procfile.debug
@@ -536,9 +554,7 @@ files:
536
554
  - templates/test/fixtures/files/plug_installation_settings/valid.json
537
555
  - templates/test/fixtures/plug_installation_settings/invalid.json
538
556
  - templates/test/fixtures/plug_installation_settings/valid.json
539
- - templates/test/integration/.keep
540
557
  - templates/test/jobs/update_yetto_job_test.rb
541
- - templates/test/mailers/.keep
542
558
  - templates/test/support/api.rb
543
559
  - templates/test/support/rails.rb
544
560
  - templates/test/support/webmocks.rb
@@ -555,6 +571,7 @@ post_install_message:
555
571
  rdoc_options:
556
572
  - "--charset=UTF-8"
557
573
  require_paths:
574
+ - app
558
575
  - lib
559
576
  required_ruby_version: !ruby/object:Gem::Requirement
560
577
  requirements:
@@ -1,39 +0,0 @@
1
- # See https://docs.docker.com/engine/reference/builder/#dockerignore-file for more about ignoring files.
2
-
3
- # Ignore git directory.
4
- # /.git/
5
-
6
- # Ignore bundler config.
7
- /.bundle
8
-
9
- # Ignore all default key files.
10
- /config/master.key
11
- /config/credentials/*.key
12
-
13
- # Ignore all environment files.
14
- /.env*
15
- !/.env.example
16
-
17
- # Ignore all logfiles and tempfiles.
18
- /log/*
19
- /tmp/*
20
- !/log/.keep
21
- !/tmp/.keep
22
-
23
- # Ignore pidfiles, but keep the directory.
24
- /tmp/pids/*
25
- !/tmp/pids/
26
- !/tmp/pids/.keep
27
-
28
- # Ignore storage (uploaded files in development and any SQLite databases).
29
- /storage/*
30
- !/storage/.keep
31
- /tmp/storage/*
32
- !/tmp/storage/
33
- !/tmp/storage/.keep
34
-
35
- # Ignore assets.
36
- /node_modules/
37
- /app/assets/builds/*
38
- !/app/assets/builds/.keep
39
- /public/assets
@@ -1,6 +0,0 @@
1
- # RAILS_MASTER_KEY="GENERATE_A_NEW_KEY"
2
- YETTO_PLUG_PEM="REPLACE_ME_WITH_YETTO_VALUE"
3
- SIGNING_SECRET="super-secret"
4
- YETTO_PLUG_ID="REPLACE_ME_WITH_YETTO_VALUE"
5
-
6
- LD_PRELOAD_PATH="/usr/lib/aarch64-linux-gnu/libjemalloc.so.2"
@@ -1,27 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: "github-actions"
4
- directory: "/"
5
- schedule:
6
- interval: weekly
7
- day: monday
8
- time: "09:00"
9
- timezone: "Etc/UTC"
10
- groups:
11
- github-actions:
12
- patterns:
13
- - "*"
14
- open-pull-requests-limit: 10
15
-
16
- - package-ecosystem: bundler
17
- directory: "/"
18
- schedule:
19
- interval: monthly
20
- day: monday
21
- time: "09:00"
22
- timezone: "Etc/UTC"
23
- open-pull-requests-limit: 10
24
- groups:
25
- bundler-dependencies:
26
- patterns:
27
- - "*"
@@ -1,17 +0,0 @@
1
- name: Bot auto-{approve,merge}
2
-
3
- on:
4
- pull_request_target:
5
-
6
- permissions:
7
- pull-requests: write
8
- contents: write
9
-
10
- jobs:
11
- dependabot:
12
- uses: yettoapp/actions/.github/workflows/automerge_dependabot.yml@main
13
- secrets: inherit
14
-
15
- sisyphusbot:
16
- uses: yettoapp/actions/.github/workflows/automerge_sisyphusbot.yml@main
17
- secrets: inherit
@@ -1,30 +0,0 @@
1
- name: Deployments
2
- on:
3
- push:
4
- branches:
5
- - production
6
- workflow_dispatch:
7
- inputs:
8
- target:
9
- required: true
10
- type: choice
11
- description: The name of the environment that you're deploying the application to
12
- options:
13
- - staging
14
- - production
15
- forced:
16
- description: "Whether to perform the deploy regardless of test state."
17
- required: false
18
- type: boolean
19
- default: false
20
-
21
- jobs:
22
- deployment:
23
- name: Deploy app
24
- uses: yettoapp/actions/.github/workflows/fly_deployment.yml@main
25
- with:
26
- target: ${{ github.event_name != 'workflow_dispatch' && 'production' || inputs.target }}
27
- forced: ${{ github.event_name == 'workflow_dispatch' && inputs.forced || false }}
28
- secrets:
29
- gh_token: ${{ secrets.GH_DEPLOYMENTS_TOKEN }}
30
- fly_token: ${{ inputs.target == 'staging' && secrets.FLY_STAGING_API_TOKEN || secrets.FLY_PRODUCTION_API_TOKEN }}
@@ -1,23 +0,0 @@
1
- name: License
2
-
3
- on:
4
- pull_request_target:
5
- paths:
6
- - "Gemfile.lock"
7
- - "package-lock.json"
8
-
9
- env:
10
- RAILS_ENV: test
11
-
12
- jobs:
13
- verify:
14
- runs-on: ubuntu-latest
15
- steps:
16
- - uses: actions/checkout@v4
17
- with:
18
- ref: ${{ github.head_ref }}
19
- token: ${{ secrets.GH_SISYPHUS_YETTO_REPO_TOKEN }}
20
-
21
- - uses: yettoapp/actions/run-license-verify@main
22
- with:
23
- ruby: true
@@ -1,32 +0,0 @@
1
- name: Linting
2
-
3
- on:
4
- pull_request:
5
- paths:
6
- - "**/*.rb"
7
-
8
- env:
9
- RAILS_ENV: test
10
-
11
- jobs:
12
- rubocop:
13
- runs-on: ubuntu-latest
14
- steps:
15
- - uses: actions/checkout@v4
16
-
17
- - uses: yettoapp/actions/pr-contains-files@main
18
- id: pr_contains_ruby
19
- with:
20
- pr_number: ${{ github.event.number }}
21
- pattern: ".rb$"
22
- github_token: ${{ secrets.GITHUB_TOKEN }}
23
-
24
- - name: Set up Ruby
25
- if: ${{ steps.pr_contains_ruby.outputs.exists == 'true' }}
26
- uses: yettoapp/actions/setup-languages@main
27
- with:
28
- ruby: true
29
-
30
- - name: Rubocop
31
- if: ${{ steps.pr_contains_ruby.outputs.exists == 'true' }}
32
- run: bundle exec rake rubocop
@@ -1,15 +0,0 @@
1
- name: Security
2
-
3
- on:
4
- workflow_dispatch:
5
- pull_request_target:
6
-
7
- permissions:
8
- pull-requests: write
9
- contents: write
10
-
11
- jobs:
12
- ruby:
13
- uses: yettoapp/actions/.github/workflows/ruby_security_checks.yml@main
14
- secrets:
15
- gh_token: ${{ secrets.GH_SISYPHUS_YETTO_REPO_TOKEN }}
@@ -1,19 +0,0 @@
1
- name: Sorbet
2
-
3
- on:
4
- pull_request_target:
5
- paths:
6
- - "**/*.rb"
7
- - "Gemfile.lock"
8
-
9
- jobs:
10
- update:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v4
15
- with:
16
- ref: ${{ github.head_ref }}
17
- token: ${{ secrets.GH_SISYPHUS_YETTO_REPO_TOKEN }}
18
-
19
- - uses: yettoapp/actions/run-sorbet-update@main
@@ -1,21 +0,0 @@
1
- name: Test
2
-
3
- on:
4
- workflow_dispatch:
5
- pull_request_target:
6
-
7
- jobs:
8
- ruby:
9
- uses: yettoapp/actions/.github/workflows/rails_test_suite.yml@main
10
- secrets:
11
- gh_token: ${{ secrets.GH_SISYPHUS_YETTO_REPO_TOKEN }}
12
- with:
13
- system_tests: false
14
-
15
- docker:
16
- uses: yettoapp/actions/.github/workflows/test_dockerbuild.yml@main
17
- secrets:
18
- gh_token: ${{ secrets.GH_SISYPHUS_YETTO_REPO_TOKEN }}
19
- fly_token: ${{ secrets.FLY_PRODUCTION_API_TOKEN }}
20
- with:
21
- app_name: "plug-app-production"
@@ -1,43 +0,0 @@
1
- cache_path: vendor/.licenses
2
-
3
- allowed:
4
- - apache-2.0
5
- - bsd-2-clause
6
- - bsd-3-clause
7
- - isc
8
- - mit
9
- - cc0-1.0
10
- - unlicense
11
-
12
- ignored:
13
- bundler:
14
- - base64 # BSD-2-Clause ("This file is released under the same license as ruby.")
15
- - bigdecimal # BSD-2-Clause ("This file is released under the same license as ruby.")
16
- - bundler-audit # GPL-3.0; but also, only used in CI/test
17
- - date # BSD-2-Clause
18
- - drb # BSD-2-Clause ("This file is released under the same license as ruby.")
19
- - io-console # BSD-2-Clause
20
- - mutex_m # BSD-2-Clause ("This file is released under the same license as ruby.")
21
- - net-protocol # BSD-2-Clause
22
- - racc # BSD-2-Clause
23
- - reline # BSD-2-Clause ("This file is released under the same license as ruby.")
24
- - ruby2_keywords # BSD-2-Clause; ignored because of custom LICENSE text
25
- - sidekiq # LGPL-3.0; ignored because of custom LICENSE text
26
-
27
- reviewed:
28
- bundler:
29
- - activerecord # MIT
30
- - brakeman # BRAKEMAN PUBLIC USE LICENSE
31
- - concurrent-ruby # MIT
32
- - dry-core # MIT
33
- - dry-transformer # MIT
34
- - faraday-net_http # MIT
35
- - json # BSD-2-Clause
36
- - jwt # MIT
37
- - net-imap # BSD-2-Clause
38
- - net-pop # BSD-2-Clause
39
- - net-smtp # BSD-2-Clause
40
- - nio4r # MIT
41
- - timeout # BSD-2-Clause
42
- - websocket-driver # Apache-2.0
43
- - websocket-extensions # Apache-2.0
@@ -1,5 +0,0 @@
1
- inherit_gem:
2
- rubocop-standard:
3
- - config/default.yml
4
- - config/minitest.yml
5
- - config/rails.yml
@@ -1 +0,0 @@
1
- <%= Hephaestus::RUBY_VERSION %>
@@ -1,9 +0,0 @@
1
- {
2
- "recommendations": [
3
- "shopify.ruby-extensions-pack",
4
- "bradlc.vscode-tailwindcss",
5
- "johnpapa.vscode-peacock",
6
- "manuelpuyol.erb-linter",
7
- "esbenp.prettier-vscode"
8
- ]
9
- }
@@ -1,13 +0,0 @@
1
- {
2
- // Use IntelliSense to learn about possible attributes.
3
- // Hover to view descriptions of existing attributes.
4
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
- "version": "0.2.0",
6
- "configurations": [
7
- {
8
- "type": "rdbg",
9
- "name": "Attach rdbg",
10
- "request": "attach"
11
- },
12
- ]
13
- }
@@ -1,52 +0,0 @@
1
- {
2
- "files.associations": {
3
- "*.css": "tailwindcss",
4
- "*.rbi": "ruby",
5
- "*.rbupdated": "ruby",
6
- "*.rbedited": "ruby"
7
- },
8
- "tailwindCSS.includeLanguages": {
9
- "plaintext": "html"
10
- },
11
- "tailwindCSS.emmetCompletions": true,
12
- "rubyLsp.enabledFeatures": {
13
- "documentHighlights": true,
14
- "documentLink": true,
15
- "documentSymbols": true,
16
- "foldingRanges": true,
17
- "selectionRanges": true,
18
- "semanticHighlighting": true,
19
- "formatting": true,
20
- "diagnostics": true,
21
- "codeActions": true,
22
- "onTypeFormatting": true
23
- },
24
- "[javascript]": {
25
- "editor.codeActionsOnSave": {
26
- "source.fixAll.eslint": true
27
- }
28
- },
29
- "[ruby]": {
30
- "editor.defaultFormatter": "Shopify.ruby-lsp",
31
- },
32
- "peacock.color": "#26FF9A",
33
- "workbench.colorCustomizations": {
34
- "activityBar.activeBackground": "#59ffb2",
35
- "activityBar.background": "#59ffb2",
36
- "activityBar.foreground": "#15202b",
37
- "activityBar.inactiveForeground": "#15202b99",
38
- "activityBarBadge.background": "#c480ff",
39
- "activityBarBadge.foreground": "#15202b",
40
- "commandCenter.border": "#15202b99",
41
- "sash.hoverBorder": "#59ffb2",
42
- "statusBar.background": "#26ff9a",
43
- "statusBar.foreground": "#15202b",
44
- "statusBarItem.hoverBackground": "#00f281",
45
- "statusBarItem.remoteBackground": "#26ff9a",
46
- "statusBarItem.remoteForeground": "#15202b",
47
- "titleBar.activeBackground": "#26ff9a",
48
- "titleBar.activeForeground": "#15202b",
49
- "titleBar.inactiveBackground": "#26ff9a99",
50
- "titleBar.inactiveForeground": "#15202b99"
51
- }
52
- }
File without changes
File without changes