Sha256: 1ea18889b7918126cbee600397cc8560340caa870fa35f209687f940bdd886ce

Contents?: true

Size: 607 Bytes

Versions: 13

Compression:

Stored size: 607 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 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).fmap { specification }

      private

      attr_reader :publisher, :model
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
gemsmith-23.1.0 lib/gemsmith/tools/versioner.rb
gemsmith-23.0.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.10.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.9.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.8.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.7.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.6.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.5.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.4.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.3.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.2.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.1.0 lib/gemsmith/tools/versioner.rb
gemsmith-22.0.0 lib/gemsmith/tools/versioner.rb