Sha256: 9f4709b5dab190256b4ad4a3e1f80e1d579df2014d7a731643be9d97f66f19da
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true module Rubysmith module CLI module Processors # Handles the Command Line Interface (CLI) for building of a project skeleton. class Build # Order is important. MINIMUM = [ Builders::Core, Builders::Bundler, Builders::Pragma, Builders::Rubocop::Formatter ].freeze # Order is important. MAXIMUM = [ 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::Git::Commit ].freeze def self.with_minimum new builders: MINIMUM end def initialize builders: MAXIMUM @builders = builders end def call options Realm[**options].then { |realm| process realm } end private attr_reader :builders def process realm builders.each { |builder| builder.call realm } end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubysmith-0.6.1 | lib/rubysmith/cli/processors/build.rb |
rubysmith-0.6.0 | lib/rubysmith/cli/processors/build.rb |