Sha256: bff8aeca3ed8df2a7bf28203430d67e677cec327de2ff4fc1e41ffecf132340b

Contents?: true

Size: 938 Bytes

Versions: 4

Compression:

Stored size: 938 Bytes

Contents

# frozen_string_literal: true

require "tocer"

module Rubysmith
  module Builders
    module Documentation
      # Builds project skeleton LICENSE documentation.
      class License
        def self.call(...) = new(...).call

        def initialize configuration, builder: Builder
          @configuration = configuration
          @builder = builder
        end

        def call
          return unless configuration.build_license

          configuration.with(template_path: "%project_name%/LICENSE-#{license}.#{kind}.erb")
                       .then do |updated_configuration|
                         builder.call(updated_configuration).render.rename "LICENSE.#{kind}"
                       end
        end

        private

        attr_reader :configuration, :builder

        def kind = configuration.documentation_format || "md"

        def license = configuration.documentation_license || "mit"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubysmith-0.16.1 lib/rubysmith/builders/documentation/license.rb
rubysmith-0.16.0 lib/rubysmith/builders/documentation/license.rb
rubysmith-0.15.0 lib/rubysmith/builders/documentation/license.rb
rubysmith-0.14.0 lib/rubysmith/builders/documentation/license.rb