Sha256: 3a69b942b0575c957c5d294653735fa803c3a38d22f80dc77b72ff9f5f17da0c

Contents?: true

Size: 585 Bytes

Versions: 10

Compression:

Stored size: 585 Bytes

Contents

# frozen_string_literal: true

module Milestoner
  module Tags
    # Handles the tagging and pushing of a tag to a remote repository.
    class Publisher
      include Import[:input, :logger]

      def initialize(creator: Tags::Creator.new, pusher: Tags::Pusher.new, **)
        super(**)
        @creator = creator
        @pusher = pusher
      end

      def call override = nil
        creator.call override
        pusher.call override
        logger.info { "Published: #{input.project_version}!" }
      end

      private

      attr_reader :creator, :pusher
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
milestoner-17.11.0 lib/milestoner/tags/publisher.rb
milestoner-17.10.0 lib/milestoner/tags/publisher.rb
milestoner-17.9.0 lib/milestoner/tags/publisher.rb
milestoner-17.6.0 lib/milestoner/tags/publisher.rb
milestoner-17.5.0 lib/milestoner/tags/publisher.rb
milestoner-17.4.0 lib/milestoner/tags/publisher.rb
milestoner-17.3.0 lib/milestoner/tags/publisher.rb
milestoner-17.2.0 lib/milestoner/tags/publisher.rb
milestoner-17.1.0 lib/milestoner/tags/publisher.rb
milestoner-17.0.0 lib/milestoner/tags/publisher.rb