Sha256: e33d4fd6a16c718d72d433e7bdad5e6170846c04d5560497f5a4600c0c1b58b0

Contents?: true

Size: 775 Bytes

Versions: 1

Compression:

Stored size: 775 Bytes

Contents

class Fancy Package {
  class Dependency {
    """
    Package Dependency.
    Represents a Dependency to another Package with a given version.
    """

    read_slots: ('name, 'version)
    def initialize: @name version: @version ('latest);
  }

  class RubyDependency {
    """
    Same as @Fancy::Package::Dependency@, just for rubygem packages.
    """

    read_slots: ('gem_name, 'version)
    def initialize: @gem_name version: @version ('latest);

    def install {
      """
      Installs the RubyDependency (a RubyGem) via rbx -S gem on the system.
      """

      match @version {
        case 'latest ->
          System do: "rbx gem install #{@gem_name}"
        case _ ->
          System do: "rbx gem install -v=#{@version} #{@gem_name}"
      }
    }
  }
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fancy-0.8.0 lib/package/dependency.fy