Class: FhirPackagesManager::Package

Inherits:
Struct
  • Object
show all
Defined in:
lib/fhir_packages_manager/package.rb

Overview

A requested package, e.g. "hl7.fhir.us.core@6.1.0" or "hl7.fhir.us.core" (version nil/"latest" means "resolve to the registry's latest version").

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#nameString

Returns the FHIR package name, e.g. "hl7.fhir.us.core".

Returns:

  • (String)

    the FHIR package name, e.g. "hl7.fhir.us.core"



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fhir_packages_manager/package.rb', line 11

class Package < Struct.new(:name, :version)
  # Parses a "name@version" (or bare "name") spec string into a Package.
  #
  # @param spec [String, Package] a spec string, or an existing Package (returned as-is)
  # @return [Package]
  def self.parse(spec)
    return spec if spec.is_a?(Package)

    parts = spec.to_s.split('@', 2)
    new(parts[0] || '', parts[1])
  end

  # @return [String] "name@version", or just "name" when version is nil
  def to_s
    version ? "#{name}@#{version}" : name
  end
end

#versionString?

Returns the requested version, or nil/"latest" for the newest available.

Returns:

  • (String, nil)

    the requested version, or nil/"latest" for the newest available



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fhir_packages_manager/package.rb', line 11

class Package < Struct.new(:name, :version)
  # Parses a "name@version" (or bare "name") spec string into a Package.
  #
  # @param spec [String, Package] a spec string, or an existing Package (returned as-is)
  # @return [Package]
  def self.parse(spec)
    return spec if spec.is_a?(Package)

    parts = spec.to_s.split('@', 2)
    new(parts[0] || '', parts[1])
  end

  # @return [String] "name@version", or just "name" when version is nil
  def to_s
    version ? "#{name}@#{version}" : name
  end
end

Class Method Details

.parse(spec) ⇒ Package

Parses a "name@version" (or bare "name") spec string into a Package.

Parameters:

  • spec (String, Package)

    a spec string, or an existing Package (returned as-is)

Returns:



16
17
18
19
20
21
# File 'lib/fhir_packages_manager/package.rb', line 16

def self.parse(spec)
  return spec if spec.is_a?(Package)

  parts = spec.to_s.split('@', 2)
  new(parts[0] || '', parts[1])
end

Instance Method Details

#to_sString

Returns "name@version", or just "name" when version is nil.

Returns:

  • (String)

    "name@version", or just "name" when version is nil



24
25
26
# File 'lib/fhir_packages_manager/package.rb', line 24

def to_s
  version ? "#{name}@#{version}" : name
end