Sha256: 86563d06c882339144631de5e9543d1a607d9ff1577bb8e325b27bf7a39b7d98

Contents?: true

Size: 701 Bytes

Versions: 3

Compression:

Stored size: 701 Bytes

Contents

# frozen_string_literal: true

require "dry/monads"

module Milestoner
  module Configuration
    module Transformers
      module URI
        Tracker = lambda do |attributes, key = :tracker_uri|
          uri, owner, name, domain = attributes.values_at key,
                                                          :project_owner,
                                                          :project_name,
                                                          :tracker_domain

          return Dry::Monads::Success attributes unless uri

          attributes[key] = format uri, domain:, owner:, name:, id: "%<id>s"
          Dry::Monads::Success attributes
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
milestoner-17.11.0 lib/milestoner/configuration/transformers/uri/tracker.rb
milestoner-17.10.0 lib/milestoner/configuration/transformers/uri/tracker.rb
milestoner-17.9.0 lib/milestoner/configuration/transformers/uri/tracker.rb