Sha256: e421f8839e0e23e162112c3af5afaa8730776133c5a8d7c36913ae5ee05e89b3

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module KPM
  class Coordinates
    class << self
      def build_coordinates(coordinate_map)
        group_id = coordinate_map[:group_id]
        artifact_id = coordinate_map[:artifact_id]
        packaging = coordinate_map[:packaging]
        classifier = coordinate_map[:classifier]
        version = coordinate_map[:version]

        if classifier.nil?
          if version.nil?
            "#{group_id}:#{artifact_id}:#{packaging}"
          else
            "#{group_id}:#{artifact_id}:#{packaging}:#{version}"
          end
        else
          "#{group_id}:#{artifact_id}:#{packaging}:#{classifier}:#{version}"
        end
      end

      def get_coordinate_map(entry)
        parts = entry.split(':')
        length = parts.size
        if length == 3
          { group_id: parts[0], artifact_id: parts[1], packaging: parts[2] }
        elsif length == 4
          { group_id: parts[0], artifact_id: parts[1], packaging: parts[2], version: parts[3] }
        elsif length == 5
          { group_id: parts[0], artifact_id: parts[1], packaging: parts[2], classifier: parts[3], version: parts[4] }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kpm-0.8.2 lib/kpm/coordinates.rb
kpm-0.8.1 lib/kpm/coordinates.rb
kpm-0.8.0 lib/kpm/coordinates.rb