class Rubysmith::CLI::Processors::Build

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

Constants

MAXIMUM

Order is important.

MINIMUM

Order is important.

Public Class Methods

new(configuration: Configuration::Loader.call, builders: MAXIMUM) click to toggle source
# File lib/rubysmith/cli/processors/build.rb, line 41
def initialize configuration: Configuration::Loader.call, builders: MAXIMUM
  @configuration = configuration
  @builders = builders
end
with_minimum(= new(builders: MINIMUM)) click to toggle source
# File lib/rubysmith/cli/processors/build.rb, line 39
      def self.with_minimum = new(builders: MINIMUM)

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

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

      private

      attr_reader :configuration, :builders

      def process(config) = builders.each { |builder| builder.call config }
    end
  end
end

Public Instance Methods

call(options) click to toggle source
# File lib/rubysmith/cli/processors/build.rb, line 46
    def call(options) = configuration.merge(**options).then { |config| process config }

    private

    attr_reader :configuration, :builders

    def process(config) = builders.each { |builder| builder.call config }
  end
end
process(config) click to toggle source
# File lib/rubysmith/cli/processors/build.rb, line 52
  def process(config) = builders.each { |builder| builder.call config }
end