Class: RailsTemplate18f::Generators::SidekiqGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RailsTemplate18f::Generators::SidekiqGenerator
- Includes:
- Base
- Defined in:
- lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb
Instance Method Summary collapse
- #configure_active_job ⇒ Object
- #configure_server_runner ⇒ Object
- #configure_sidekiq_ui ⇒ Object
- #install_gem ⇒ Object
- #install_redis ⇒ Object
- #update_boundary_diagram ⇒ Object
Instance Method Details
#configure_active_job ⇒ Object
42 43 44 45 46 |
# File 'lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb', line 42 def configure_active_job generate "rails_template18f:cloud_gov_config", inline: true copy_file "config/initializers/redis.rb" application "config.active_job.queue_adapter = :sidekiq" end |
#configure_server_runner ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb', line 30 def configure_server_runner append_to_file "Procfile.dev", "worker: bundle exec sidekiq\n" insert_into_file file_path("terraform/app.tf"), " {\ntype = \"worker\"\ninstances = var.worker_instances\nmemory = var.worker_memory\ncommand = \"bundle exec sidekiq\"\n },\n", after: "processes = [\n" end |
#configure_sidekiq_ui ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb', line 48 def configure_sidekiq_ui prepend_to_file "config/routes.rb", "require \"sidekiq/web\"\n\n" route " if Rails.env.development?\n mount Sidekiq::Web => \"/sidekiq\"\n end\n EOR\nend\n" |
#install_gem ⇒ Object
15 16 17 18 19 |
# File 'lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb', line 15 def install_gem return if gem_installed?("sidekiq") gem "sidekiq", "~> 7.3" bundle_install end |
#install_redis ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb', line 21 def install_redis append_to_file "Brewfile", "\n # queue for sidekiq jobs\n brew \"redis\"\n EOB\n insert_into_file \"README.md\", indent(\"* [redis](https://redis.io/)\\n\"), after: /\\* Install homebrew dependencies: `brew bundle`\\n/\nend\n" |
#update_boundary_diagram ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb', line 57 def update_boundary_diagram boundary_filename = "doc/compliance/apps/application.boundary.md" insert_into_file boundary_filename, indent(" Container(worker, \"<&layers> Sidekiq workers\", \"Ruby \#{ruby_version}, Sidekiq\", \"Perform background work and data processing\")\n ContainerDb(redis, \"Redis Database\", \"AWS ElastiCache (Redis)\", \"Background job queue\")\n EOB\n insert_into_file boundary_filename, <<~EOB, before: \"@enduml\"\n Rel(app, redis, \"enqueue job parameters\", \"redis\")\n Rel(worker, redis, \"dequeues job parameters\", \"redis\")\n Rel(worker, app_db, \"reads/writes primary data\", \"psql (5432)\")\n EOB\nend\n", 16), after: /ContainerDb\(app_db.*$\n/ |