Class: Middleman::Presentation::Cli::CreatePlugin

Inherits:
BaseGroup
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/middleman-presentation-core/cli/create_plugin.rb

Overview

Create plugin

Instance Method Summary collapse

Methods included from Shared

#assets_loader, #bower_path, #enable_debug_mode, included, #open_in_editor

Instance Method Details

#add_path_to_source_pathsObject



23
24
25
# File 'lib/middleman-presentation-core/cli/create_plugin.rb', line 23

def add_path_to_source_paths
  source_paths << File.expand_path('../../../../templates', __FILE__)
end

#build_plugin_nameObject



27
28
29
30
31
32
# File 'lib/middleman-presentation-core/cli/create_plugin.rb', line 27

def build_plugin_name
  new_name = []
  new_name << name

  @plugin_name = new_name.join('-')
end

#create_pluginObject



42
43
44
# File 'lib/middleman-presentation-core/cli/create_plugin.rb', line 42

def create_plugin
  directory 'plugin', @plugin_name
end

#create_variables_for_templatesObject



34
35
36
37
38
39
40
# File 'lib/middleman-presentation-core/cli/create_plugin.rb', line 34

def create_variables_for_templates
  @plugin_path       = File.expand_path(@plugin_name)
  @plugin_class_name = @plugin_name.split(/-/).map(&:camelcase).join('::')
  @author            = options[:author]
  @year              = options[:year]
  @email             = options[:email]
end

#initialize_generatorObject



19
20
21
# File 'lib/middleman-presentation-core/cli/create_plugin.rb', line 19

def initialize_generator
  enable_debug_mode
end

#initialize_gitObject



46
47
48
49
50
51
52
53
54
# File 'lib/middleman-presentation-core/cli/create_plugin.rb', line 46

def initialize_git
  return unless options[:initialize_git]

  Dir.chdir(@plugin_name) do
    run 'git init'
    run 'git add -A .'
    run "git commit -m \"Initialized #{@plugin_name}\""
  end
end