Sha256: ac4f394c42905288abc7727f8ce6b8c3ff7b4d685d40f059110586a3d2f86f81
Contents?: true
Size: 1.6 KB
Versions: 11
Compression:
Stored size: 1.6 KB
Contents
# typed: false # frozen_string_literal: true require "rails/generators" require_relative "../actions" module Hephaestus module Generators class Base < Rails::Generators::Base include Hephaestus::Actions class << self def default_source_root File.expand_path(File.join("..", "..", "..", "templates"), __dir__) end def inherited(subclass) super description_file = File.expand_path( File.join( default_source_root, "descriptions", "#{subclass.generator_name}.md", ), ) subclass.desc(File.read(description_file)) rescue Errno::ENOENT # rubocop:disable Lint/SuppressedException end end private def empty_directory_with_keep_file(destination) empty_directory(destination, {}) keep_file(destination) end def keep_file(destination) create_file(File.join(destination, ".keep")) end def append_template_to_file(destination, source, *args) partial = File.expand_path(find_in_source_paths(source)) append_to_file(destination, File.read(partial, *args)) end def prepend_template_to_file(destination, source, *args) partial = File.expand_path(find_in_source_paths(source)) prepend_to_file(destination, File.read(partial, *args)) end def inject_template_into_file(destination, source, *args) partial = File.expand_path(find_in_source_paths(source)) inject_into_file(destination, File.read(partial), *args) end end end end
Version data entries
11 entries across 11 versions & 1 rubygems