class Mint::Installer::Repository

Overview

This class is for handling git repositories of packages.

Repositories are cloned into a temp directory (/tmp/mint-packages) if not exists and updated when they exists.

Included Modules

Defined in:

installer/repository.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Mint::Errorable

error!(name : Symbol, &) error!, unreachable!(message : String) unreachable!

Constructor Detail

def self.new(name : String, url : String, target : Nil | String = nil, version : Nil | Mint::Installer::Semver = nil) #

[View source]

Class Method Detail

def self.open(name, url, target = nil, version = nil) #

[View source]

Instance Method Detail

def checkout(tag) #

Checks out the given tag or version.


[View source]
def clone #

Clones the repository.


[View source]
def dependencies(tag) #

Returns the dependencies of the tag or version.


[View source]
def directory #

The directory of the repository


[View source]
def exists? #

Returns true if the repository is cloned yet.


[View source]
def id #

[View source]
def json(version : Semver) #

Returns the mint.json of the given version.


[View source]
def json(tag) #

Returns the mint.json of the given tag or version.


[View source]
def name : String #

[View source]
def open #

[View source]
def target : String | Nil #

[View source]
def terminal #

[View source]
def update #

Updates the repository.


[View source]
def url : String #

[View source]
def version : Semver | Nil #

[View source]
def versions : Array(Semver) #

Gets the versions of a package from its tags


[View source]