Sha256: 6485e7c39fa18d67acff33c222f2b79ff4188c84f0bed0bba81c703b44026b73
Contents?: true
Size: 1.15 KB
Versions: 28
Compression:
Stored size: 1.15 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}.html.erb" template "component.yml.erb", "#{docs_dir}#{@public_name}.yml" template "_component.scss", "#{scss_dir}_#{@public_name}.scss" end private def create_directory_if_not_exists(dir) if not File.directory?(dir) puts("Directory #{dir} not found, creating") FileUtils::mkdir_p dir end end end end
Version data entries
28 entries across 28 versions & 1 rubygems