Sha256: 1d632385eb6f76870ef289661ea97394e4c6d02155ea874e5d78e4fd941d0216
Contents?: true
Size: 1.15 KB
Versions: 166
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
166 entries across 166 versions & 1 rubygems