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

Version Path
phcpress-2.5.2 lib/generators/phcpress/views_generator.rb
phcpress-2.5.0 lib/generators/phcpress/views_generator.rb
phcpress-2.0.2 lib/generators/phcpress/views_generator.rb
phcpress-2.0.0 lib/generators/phcpress/views_generator.rb
phcpress-1.0.0 lib/generators/phcpress/views_generator.rb
phcpress-0.11.1 lib/generators/phcpress/views_generator.rb
phcpress-0.11.0 lib/generators/phcpress/views_generator.rb
phcpress-0.10.8 lib/generators/phcpress/views_generator.rb
phcpress-0.9.7 lib/generators/phcpress/views_generator.rb
phcpress-0.9.6 lib/generators/phcpress/views_generator.rb
phcpress-0.7.11 lib/generators/phcpress/views_generator.rb
phcpress-0.7.9 lib/generators/phcpress/views_generator.rb
phcpress-0.6.0 lib/generators/phcpress/views_generator.rb
phcpress-0.5.9b lib/generators/phcpress/views_generator.rb
phcpress-0.4.9b lib/generators/phcpress/views_generator.rb
phcpress-0.4.5b lib/generators/phcpress/views_generator.rb
phcpress-0.4.1b lib/generators/phcpress/views_generator.rb
phcpress-0.3.1b lib/generators/phcpress/views_generator.rb
phcpress-0.2.1b lib/generators/phcpress/views_generator.rb