Sha256: a6c0abd82c33c83369a2c0a04b4c24b2b5e620be29c5defa0871d06ef02c7241
Contents?: true
Size: 1.44 KB
Versions: 72
Compression:
Stored size: 1.44 KB
Contents
require 'rails/generators' require 'fileutils' module GovukPublishingComponents class ComponentGenerator < ::Rails::Generators::NamedBase source_root File.expand_path('../templates', __FILE__) def copy_component_files static = GovukPublishingComponents::Config.static @public_name = file_name.dasherize @component_prefix = static ? 'pub-c-' : '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) if static template '_component.html.erb', "#{template_dir}#{@public_name.underscore}.raw.html.erb" template 'component.yml.erb', "#{docs_dir}#{@public_name.underscore}.yml" else template '_component.html.erb', "#{template_dir}_#{@public_name}.html.erb" template 'component.yml.erb', "#{docs_dir}#{@public_name}.yml" end 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
72 entries across 72 versions & 1 rubygems