Sha256: 91e281a94254261f4a5d473feba9e52bf7febd4dac7fe647562081b6c0bc40e1
Contents?: true
Size: 1.18 KB
Versions: 145
Compression:
Stored size: 1.18 KB
Contents
require "rails/generators" require "fileutils" module GovukPublishingComponents class ComponentGenerator < ::Rails::Generators::NamedBase source_root File.expand_path("templates", __dir__) def copy_component_files @public_name = file_name.dasherize @component_prefix = "app-c-" component_directory_name = GovukPublishingComponents::Config.component_directory_name template_dir = "app/views/#{component_directory_name}/" docs_dir = "app/views/#{component_directory_name}/docs/" scss_dir = "app/assets/stylesheets/#{component_directory_name.dasherize}/" create_directory_if_not_exists(template_dir) create_directory_if_not_exists(docs_dir) create_directory_if_not_exists(scss_dir) template "_component.html.erb", "#{template_dir}_#{@public_name.gsub('-', '_')}.html.erb" template "component.yml.erb", "#{docs_dir}#{@public_name.gsub('-', '_')}.yml" template "_component.scss", "#{scss_dir}_#{@public_name}.scss" end private def create_directory_if_not_exists(dir) unless File.directory?(dir) puts("Directory #{dir} not found, creating") FileUtils.mkdir_p dir end end end end
Version data entries
145 entries across 145 versions & 1 rubygems