Sha256: 0b50d4c58b21c5b3175f2e2a88a49f99f54a5658139a2c3bc4cbbc535e1803ef

Contents?: true

Size: 1019 Bytes

Versions: 1

Compression:

Stored size: 1019 Bytes

Contents

# frozen_string_literal: true

module Rubysmith
  module CLI
    module Actions
      # Handles the build action.
      class Build
        # Order is important.
        BUILDERS = [
          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 initialize builders: BUILDERS, container: Container
          @builders = builders
          @container = container
        end

        def call = builders.each { |builder| builder.call configuration }

        private

        attr_reader :builders, :container

        def configuration = container[__method__]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubysmith-0.13.0 lib/rubysmith/cli/actions/build.rb