Class: Middleman::Presentation::Cli::InitApplication

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

Overview

This class provides an ‘init presentation’ command for the middleman CLI.

Instance Method Summary collapse

Methods included from Shared

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

Instance Method Details

#add_to_source_pathObject



17
18
19
# File 'lib/middleman-presentation-core/cli/init_application.rb', line 17

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

#initialize_generatorObject



13
14
15
# File 'lib/middleman-presentation-core/cli/init_application.rb', line 13

def initialize_generator
  enable_debug_mode
end

#set_variables_for_templatesObject



21
22
23
24
# File 'lib/middleman-presentation-core/cli/init_application.rb', line 21

def set_variables_for_templates
  @version            = Middleman::Presentation::VERSION
  @config             = Middleman::Presentation.config
end

#write_new_configurationObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/middleman-presentation-core/cli/init_application.rb', line 26

def write_new_configuration
  file = if options[:local]
           File.join(MiddlemanEnvironment.new.root_path, '.middleman-presentation.yaml')
         else
           options[:configuration_file]
         end

  FileUtils.cp file, "#{file}.bkp" if File.exist?(file) && options[:force]

  if options[:local]
    create_file(
      file,
      Middleman::Presentation.config.to_yaml(keys: Middleman::Presentation.config.exportable_options, remove_blank: true),
      force: options[:force]
    )
  else
    create_file(
      file,
      Middleman::Presentation.config.to_yaml(keys: Middleman::Presentation.config.known_options, remove_blank: false, prepend: '# '),
      force: options[:force]
    )
  end
end