Sha256: bf794a91ae44dd192e2097788b959feb1af4183c3b5790c2ae55f6ca53782997
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
require "dry/web/roda/generators/abstract_generator" module Dry module Web module Roda module Generators class SubApp < AbstractGenerator def populate_templates add_lib add_system add_web end private def destination options.fetch(:to) { File.join("apps", target_dir) } end def umbrella_name options.fetch(:umbrella) end def add_lib add_template('subapp/view_context.rb.tt', "lib/#{underscored_project_name}/view/context.rb") add_template('subapp/view_controller.rb.tt', "lib/#{underscored_project_name}/view/controller.rb") add_template('welcome.rb.tt', "lib/#{underscored_project_name}/views/welcome.rb") add_template('.keep', "lib/#{underscored_project_name}/.keep") end def add_system %w(application container).each do |file| add_template("subapp/#{file}.rb.tt", "system/#{underscored_project_name}/#{file}.rb") end add_template('import.rb.tt', "system/#{underscored_project_name}/import.rb") add_template('subapp/boot.rb.tt', 'system/boot.rb') end def add_web add_template('example_routes.rb.tt', 'web/routes/example.rb') add_template('application.html.slim', 'web/templates/layouts/application.html.slim') add_template('welcome.html.slim', 'web/templates/welcome.html.slim') end def template_scope { underscored_project_name: underscored_project_name, camel_cased_app_name: Inflections.camel_cased_name(target_dir), underscored_umbrella_name: Inflections.underscored_name(umbrella_name), camel_cased_umbrella_name: Inflections.camel_cased_name(umbrella_name), } end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-web-roda-0.7.0 | lib/dry/web/roda/generators/sub_app.rb |