lib/kpm/coordinates.rb



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