Sha256: 879e50b670889270a0412ad2a17b46aff67742c9d38e2a33a507b84b76142715
Contents?: true
Size: 1.39 KB
Versions: 13
Compression:
Stored size: 1.39 KB
Contents
# CLI Module module Middleman::Cli # A thor task for creating new projects class Extension < Thor include Thor::Actions check_unknown_options! namespace :extension # Required path for the new project to be generated argument :name, type: :string # Template files are relative to this file # @return [String] def self.source_root File.join(File.dirname(__FILE__), '..', 'templates', 'extension') end desc 'extension [options]', 'Create Middleman extension scaffold NAME' # The extension task # @param [String] name def extension generate_gitignore! template 'Rakefile', File.join(name, 'Rakefile') template 'gemspec', File.join(name, "#{name}.gemspec") template 'Gemfile', File.join(name, 'Gemfile') template 'lib/middleman_extension.rb', File.join(name, 'lib', 'middleman_extension.rb') template 'lib/lib.rb', File.join(name, 'lib', "#{name}.rb") template 'features/support/env.rb', File.join(name, 'features', 'support', 'env.rb') empty_directory File.join(name, 'fixtures') end # Output a .gitignore file class_option :git, type: :boolean, default: true no_tasks { # Write a .gitignore file for project # @return [void] def generate_gitignore! return unless options[:git] copy_file 'gitignore', File.join(name, '.gitignore') end } end end
Version data entries
13 entries across 13 versions & 2 rubygems