Sha256: 1e3ae6aa3916f97205dec4962df3c6baa296e4735e1969abf27fae695eb39599
Contents?: true
Size: 1.22 KB
Versions: 19
Compression:
Stored size: 1.22 KB
Contents
require 'rails/generators/base' module Phcpress module Generators module ViewPathTemplates extend ActiveSupport::Concern included do class_option :views, aliases: "-v", type: :array, desc: "Select specific view directories to generate (layouts, phcpress)" public_task :copy_views end # module ClassMethods # def hide! # Rails::Generators.hide_namespace self.namespace # end # end def copy_views if options[:views] options[:views].each do |directory| view_directory directory.to_sym end else view_directory :layouts view_directory :phcpress end end protected def view_directory(name, _target_path = nil) directory name.to_s, _target_path || "#{target_path}/#{name}" do |content| content end end def target_path @target_path ||= "app/views" end end class SharedViewsGenerator < Rails::Generators::Base include ViewPathTemplates source_root File.expand_path("../../../../app/views", __FILE__) desc "Copies phcpress views to your application." hide! end class ViewsGenerator < Rails::Generators::Base desc "Copies phcpress views to your application." invoke SharedViewsGenerator end end end
Version data entries
19 entries across 19 versions & 1 rubygems