class Middleman::Cli::Extension

A thor task for creating new projects

Public Class Methods

source_root() click to toggle source

Template files are relative to this file @return [String]

# File lib/middleman-core/cli/extension.rb, line 16
def self.source_root
  File.join(File.dirname(__FILE__), '..', 'templates', 'extension')
end

Public Instance Methods

extension() click to toggle source

The extension task @param [String] name

# File lib/middleman-core/cli/extension.rb, line 24
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
generate_gitignore!() click to toggle source

Write a .gitignore file for project @return [void]

# File lib/middleman-core/cli/extension.rb, line 41
def generate_gitignore!
  return unless options[:git]
  copy_file 'gitignore', File.join(name, '.gitignore')
end