module Novika::Resolver::Resolution::Dependency

Overview

Includers can be listed as dependencies in a Resolution.

Direct including types

Defined in:

novika/resolver.cr

Instance Method Summary

Instance Method Detail

def allow #

Sets the permission state of this dependency to "allowed".


def allowed? : Bool #

Returns whether this dependency is allowed. Depends on the permission state of this dependency, which is normally set by PermissionServer.


def deny #

Sets the permission state of this dependency to "denied".


abstract def enable(*, in caps : CapabilityCollection) #

If this dependency is #allowed?, enables it in the given capability collection caps.


abstract def prompt?(server : PermissionServer, *, for container : RunnableContainer) : Permission #

Promps the user for whether the use of this dependency should be allowed in container's RunnableEnvironment. Returns the resulting Permission.


def request(server : PermissionServer, *, for container : RunnableContainer) #

Communicates with the given permission server in order to determine whether the use of this dependency should be allowed or denied to container.


abstract def signature(container : RunnableContainer) : Signature #

Returns the signature of this dependency which can be used to identify it, most notably in the 'permissions' file.

container, assumed to contain this dependency, may be used to derive the signature.