Sha256: 40a40d0be87394276057d464902f418748bdb7d4d2011453ea653c8cecd75bcc
Contents?: true
Size: 1.17 KB
Versions: 6
Compression:
Stored size: 1.17 KB
Contents
require 'rails' require 'rails/generators' module Solidus module Views class OverrideGenerator < ::Rails::Generators::Base def self.views_folder Spree::Frontend::Engine.root.join('app', 'views', 'spree') end VIEWS = Dir.glob(views_folder.join('**', '*')) desc "Override solidus frontend views in your app. You can either provide single files or complete folders." class_option :only, type: :string, default: nil, desc: "Name of file or folder to copy exclusively. Can be a substring." source_root views_folder def copy_views views_to_copy.each do |file| next if File.directory?(file) dest_file = Pathname.new(file).relative_path_from(source_dir) copy_file file, Rails.root.join('app', 'views', 'spree', dest_file) end end private def views_to_copy if @options['only'] VIEWS.select do |v| Pathname.new(v).relative_path_from(source_dir).to_s.include?(@options['only']) end else VIEWS end end def source_dir self.class.views_folder end end end end
Version data entries
6 entries across 6 versions & 1 rubygems