Sha256: 4eff4d507edd6439f77ec3bd5186f175eb9c3b5ecf134a77f5051db31b1fb1a1

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

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::Readme,
          Builders::Documentation::Change,
          Builders::Documentation::Conduct,
          Builders::Documentation::Contribution,
          Builders::Documentation::License,
          Builders::Git::Setup,
          Builders::Bundler,
          Builders::Rake,
          Builders::Console,
          Builders::CircleCI,
          Builders::Setup,
          Builders::GitHub,
          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

4 entries across 4 versions & 1 rubygems

Version Path
rubysmith-0.16.1 lib/rubysmith/cli/actions/build.rb
rubysmith-0.16.0 lib/rubysmith/cli/actions/build.rb
rubysmith-0.15.0 lib/rubysmith/cli/actions/build.rb
rubysmith-0.14.0 lib/rubysmith/cli/actions/build.rb