Class: Rubysmith::CLI::Processors::Build

Inherits:
Object
  • Object
show all
Defined in:
lib/rubysmith/cli/processors/build.rb

Overview

Handles the Command Line Interface (CLI) for building of a project skeleton.

Constant Summary collapse

MINIMUM =

Order is important.

[
  Builders::Core,
  Builders::Bundler,
  Builders::Pragma,
  Builders::Rubocop::Formatter
].freeze
MAXIMUM =

Order is important.

[
  Builders::Core,
  Builders::Documentation,
  Builders::Git::Setup,
  Builders::Bundler,
  Builders::Rake,
  Builders::Console,
  Builders::Setup,
  Builders::Guard,
  Builders::Reek,
  Builders::RSpec::Context,
  Builders::RSpec::Helper,
  Builders::Pragma,
  Builders::Rubocop::Setup,
  Builders::Rubocop::Formatter,
  Builders::RubyCritic,
  Builders::Git::Commit
].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration: Configuration::Loader.call, builders: MAXIMUM) ⇒ Build

Returns a new instance of Build.



44
45
46
47
# File 'lib/rubysmith/cli/processors/build.rb', line 44

def initialize configuration: Configuration::Loader.call, builders: MAXIMUM
  @configuration = configuration
  @builders = builders
end

Class Method Details

.with_minimumObject



40
41
42
# File 'lib/rubysmith/cli/processors/build.rb', line 40

def self.with_minimum
  new builders: MINIMUM
end

Instance Method Details

#call(options) ⇒ Object



49
# File 'lib/rubysmith/cli/processors/build.rb', line 49

def call(options) = configuration.merge(**options).then { |config| process config }