Sha256: fe93fbc401a192030c3cdc8e4a65f9c941f13fe2444ae9abe352391c2a4d2df4

Contents?: true

Size: 1.91 KB

Versions: 11

Compression:

Stored size: 1.91 KB

Contents

# encoding: utf-8
module Middleman
  module Presentation
    module Cli
      # This class provides an 'init presentation' command for the middleman CLI.
      class InitApplication < BaseGroup
        include Thor::Actions

        class_option :configuration_file, default: Middleman::Presentation.config.preferred_configuration_file, desc: Middleman::Presentation.t('views.applications.create.options.configuration_file')
        class_option :force, type: :boolean, desc: Middleman::Presentation.t('views.applications.create.options.force')
        class_option :local, type: :boolean, desc: Middleman::Presentation.t('views.applications.create.options.local')

        def initialize_generator
          enable_debug_mode
        end

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

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

        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
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
middleman-presentation-core-0.17.7 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.17.6 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.17.5 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.17.2 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.17.1 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.17.0 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.16.3 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.16.2 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.16.0 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.16.0.rc2 lib/middleman-presentation-core/cli/init_application.rb
middleman-presentation-core-0.16.0.rc1 lib/middleman-presentation-core/cli/init_application.rb