Skip to content

Instantly share code, notes, and snippets.

@FCO
Created November 22, 2018 02:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FCO/87d7645286d7f836e1f8e1e76514a599 to your computer and use it in GitHub Desktop.
Save FCO/87d7645286d7f836e1f8e1e76514a599 to your computer and use it in GitHub Desktop.
Schema CompUnit::Repo
no precompilation;
use Schema;
use lib "CompUnit::Repository::Red::Schema#";
use lib ".";
use Schema;
say Bla
unit class CompUnit::Repository::Red::Schema does CompUnit::Repository;
has $!name;
has $.prefix;
submethod TWEAK(:$!name = 'redschema') {
CompUnit::RepositoryRegistry.register-name($!name, self);
}
method id { "redschema" }
method loaded {[]}
method path-spec(--> Str:D) { "redschema#{$!prefix}" }
method short-id(--> Str:D) { 'redschema' }
method need(
CompUnit::DependencySpecification $spec,
CompUnit::PrecompilationRepository $precomp = self.precomp-repository(),
--> CompUnit:D) {
return self.next-repo.need($spec) unless $spec.short-name eq "Schema";
my $h = CompUnit::Loader.load-source( q"class Bla {}; say 'FOI'".encode );
CompUnit.new(
handle => $h,
short-name => $spec.short-name,
version => Version.new("0.0.1"),
auth => "FCO",
repo => self,
repo-id => self.id,
precompiled => False,
distribution => Distribution,
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment