Class: RailsForge::Generators::DevopsGenerator
- Inherits:
-
BaseGenerator
- Object
- BaseGenerator
- RailsForge::Generators::DevopsGenerator
- Defined in:
- lib/railsforge/generators/devops_generator.rb
Overview
DevOps generator
Constant Summary
Constants inherited from BaseGenerator
BaseGenerator::TEMPLATE_VERSION
Instance Method Summary collapse
-
#generate ⇒ Object
Generate DevOps files.
-
#initialize(name = "app", options = {}) ⇒ DevopsGenerator
constructor
Initialize the generator.
Methods inherited from BaseGenerator
#camelize, #find_rails_app_path, #underscore, #validate_name!
Constructor Details
#initialize(name = "app", options = {}) ⇒ DevopsGenerator
Initialize the generator
11 12 13 14 15 16 17 |
# File 'lib/railsforge/generators/devops_generator.rb', line 11 def initialize(name = "app", = {}) super(name, ) @docker_image = [:docker_image] || "railsforge/#{name}" @ci_provider = [:ci_provider] || "github" @ruby_version = [:ruby_version] || "3.2.0" @node_version = [:node_version] || "18" end |
Instance Method Details
#generate ⇒ Object
Generate DevOps files
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/railsforge/generators/devops_generator.rb', line 20 def generate return "Not in a Rails application directory" unless @base_path results = [] results << create_dockerfile results << create_docker_compose results << create_dockerignore results << create_github_workflow if @ci_provider == "github" results << create_gitlab_ci if @ci_provider == "gitlab" results.join("\n") end |