Sha256: ab4dd85563385f42cfdf030deffad23a812a84dcfed3879d6140049714b2b437

Contents?: true

Size: 1.14 KB

Versions: 11

Compression:

Stored size: 1.14 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
        case length
        when 3
          { group_id: parts[0], artifact_id: parts[1], packaging: parts[2] }
        when 4
          { group_id: parts[0], artifact_id: parts[1], packaging: parts[2], version: parts[3] }
        when 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

11 entries across 11 versions & 1 rubygems

Version Path
kpm-0.11.2 lib/kpm/coordinates.rb
kpm-0.10.6 lib/kpm/coordinates.rb
kpm-0.11.1 lib/kpm/coordinates.rb
kpm-0.10.5 lib/kpm/coordinates.rb
kpm-0.11.0 lib/kpm/coordinates.rb
kpm-0.10.4 lib/kpm/coordinates.rb
kpm-0.10.3 lib/kpm/coordinates.rb
kpm-0.10.2 lib/kpm/coordinates.rb
kpm-0.10.1 lib/kpm/coordinates.rb
kpm-0.10.0 lib/kpm/coordinates.rb
kpm-0.9.0 lib/kpm/coordinates.rb