Sha256: a294acb7ed7f2672163c22b953d2307c068b786ebd6c84311762a50092d6d2f1

Contents?: true

Size: 1.13 KB

Versions: 21

Compression:

Stored size: 1.13 KB

Contents

require 'rails/generators/base'

module Phcmemberspro

	module Generators

		module ViewPathTemplates
			extend ActiveSupport::Concern

			included do
				class_option :views, aliases: "-v", type: :array, desc: "Select specific view directories to generate (layouts, phcmemberspro)"

				public_task :copy_views
			end

			def copy_views
				if options[:views]
					options[:views].each do |directory|
						view_directory directory.to_sym
					end
				else
					view_directory :layouts
					view_directory :phcmemberspro
				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 phcmemberspro views to your application."
			hide!
		end

		class ViewsGenerator < Rails::Generators::Base
			desc "Copies phcmemberspro views to your application."
			invoke SharedViewsGenerator
		end
	end

end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
phcmemberspro-2.1.6 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-2.1.4 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-2.1.3 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-2.1.2 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-2.1.0 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.8.0 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.7.0 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.6.5 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.6.3 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.6.1 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.6.0 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.5.8 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.5.7 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.5.6 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.5.5 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.0.6 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.0.5 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.0.3 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.0.2 lib/generators/phcmemberspro/views_generator.rb
phcmemberspro-1.0.1 lib/generators/phcmemberspro/views_generator.rb