Sha256: 4dccea9659991212b01de89ce1639b4207746579f67cb294d6536324e21ce632

Contents?: true

Size: 1.01 KB

Versions: 17

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

require "dry/monads"
require "milestoner"

module Gemsmith
  module Tools
    # Versions (tags) current project (local and remote).
    class Versioner
      include Import[:configuration]
      include Dry::Monads[:result]

      def initialize client: Milestoner::Tags::Publisher.new,
                     content: Milestoner::Configuration::Content,
                     **dependencies

        super(**dependencies)

        @client = client
        @content = content
      end

      def call specification
        client.call settings(specification)
        Success specification
      rescue Milestoner::Error => error
        Failure error.message
      end

      private

      attr_reader :client, :content

      def settings specification
        content[
          documentation_format: configuration.extensions_milestoner_documentation_format,
          prefixes: configuration.extensions_milestoner_prefixes,
          version: specification.version
        ]
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
gemsmith-19.3.0 lib/gemsmith/tools/versioner.rb
gemsmith-19.2.0 lib/gemsmith/tools/versioner.rb
gemsmith-19.1.0 lib/gemsmith/tools/versioner.rb
gemsmith-19.0.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.9.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.8.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.7.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.6.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.5.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.4.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.3.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.2.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.1.1 lib/gemsmith/tools/versioner.rb
gemsmith-18.1.0 lib/gemsmith/tools/versioner.rb
gemsmith-18.0.2 lib/gemsmith/tools/versioner.rb
gemsmith-18.0.1 lib/gemsmith/tools/versioner.rb
gemsmith-18.0.0 lib/gemsmith/tools/versioner.rb