Sha256: d13ef57e8e12f29b62afe8373e17efef961a99fad888e2c8a0d9f5d89834223e
Contents?: true
Size: 1.52 KB
Versions: 9
Compression:
Stored size: 1.52 KB
Contents
require 'rails/generators/base' module Mtdevise module Generators module ViewPathTemplates extend ActiveSupport::Concern included do class_option :views, aliases: "-v", type: :array, desc: "Select specific view directories to generate (devise, layouts, mtdevise)" 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 :devise view_directory :layouts view_directory :shared view_directory :mtdevise 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 Mtdevise views to your application." hide! end class ViewsGenerator < Rails::Generators::Base desc "Copies Mtdevise views to your application." invoke SharedViewsGenerator end end end
Version data entries
9 entries across 9 versions & 1 rubygems