Sha256: 4e46f85e3861631a0fd075c6b981c8f60121713163e4246c439b001b9dae7b43

Contents?: true

Size: 735 Bytes

Versions: 10

Compression:

Stored size: 735 Bytes

Contents

# frozen_string_literal: true

require "dry/monads"
require "milestoner"

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

      def initialize(
        publisher: Milestoner::Tags::Publisher.new,
        model: Milestoner::Configuration::Model,
        **
      )
        super(**)
        @publisher = publisher
        @model = model
      end

      def call specification
        publisher.call specification.version
        Success specification
      rescue Milestoner::Error => error
        Failure error.message
      end

      private

      attr_reader :publisher, :model
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
gemsmith-21.10.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.9.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.6.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.5.1 lib/gemsmith/tools/versioner.rb
gemsmith-21.5.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.4.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.3.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.2.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.1.0 lib/gemsmith/tools/versioner.rb
gemsmith-21.0.0 lib/gemsmith/tools/versioner.rb