Sha256: 6b6b9a121fdb70ccd79d6da565d674b5ce791e54f43b7f4f294945b07c2ef9f9

Contents?: true

Size: 588 Bytes

Versions: 1

Compression:

Stored size: 588 Bytes

Contents

require 'dk-pkg/constants'

module Dk::Pkg

  module Manifest

    def self.serialize(pkgs)
      raise ArgumentError, "pkgs must be an array" if !pkgs.kind_of?(Array)
      sanitize_array(pkgs).join(MANIFEST_SEPARATOR)
    end

    def self.deserialize(serialized_pkgs)
      if !serialized_pkgs.kind_of?(String)
        raise ArgumentError, "serialized pkgs must be a string"
      end
      sanitize_array(serialized_pkgs.split(MANIFEST_SEPARATOR))
    end

    private

    def self.sanitize_array(array)
      array.compact.uniq.map(&:to_s).reject(&:empty?).sort
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dk-pkg-0.1.0 lib/dk-pkg/manifest.rb