| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
since it's stupid to have a class named after
a verb.
|
|
|
|
|
| |
and the AST::Node class to match that to
the definitions and AST classes.
|
|
|
|
|
| |
be more internally consistent (switched store_resource
to add_resource, and store_override to add_override).
|
|
|
|
|
|
| |
refactored, fixing this problem and making the whole interplay
between the classes, definitions, and nodes, and the Compile class much
cleaner.
|
|
|
|
|
| |
as its resource container, instead of having its own behaviour
around resource uniqueness.
|
|
|
|
|
|
| |
rspec, so I can refactor the class to more heavily rely
on a Node::Catalog instead of doing its own resource
container management.
|
|
|
|
|
| |
bartv's, although I could not use his commit because it was
against the 'master' branch instead of 0.24.x.
|
|
|
|
| |
from the system, and implemented my own topsort method.
|
|
|
|
| |
times.
|
| |
|
|
|
|
|
|
|
|
| |
being evaluated on the first pass because they were being
deleted from the collections list during evaluation, which caused
some to get skipped. This commit fixes that problem, which helps
in the trivial cases where the collections are in the same scope.
I expect it's still broken for more complicated usages.
|
|
|
|
|
|
|
|
|
| |
from the server. The real problem was getting all of the validation
done before any caching, which required a good bit more refactoring
than I expected.
In actuality, this commit is relatively small even though it covers
many files; most of the changes just make the code clearer or shorter.
|
|
|
|
|
|
|
|
|
|
|
|
| |
switching the node scope to no longer be lazy evaluation,
just like I switched 'main'. When I made all of these
classes and nodes lazy evaluated, I should have decoupled
my real goal (using resources to evaluate them) from the idea
of lazy-evaluating them, and this basically does that.
I also changed the scope heirarchy slightly so that scopes will
tend to be below the node scope, altho this was already generally
the case.
|
|
|
|
|
| |
It was getting evaluated after node classes, which caused
even stranger ordering issues.
|
|
|
|
|
| |
when using :include, not (for example) when evaluating
node classes.
|
|
|
|
|
|
|
|
|
|
| |
'include' function is used, instead of being lazy-evaluated.
Previous work caused resources to get created to model
these classes, but in the process, I removed the fact
that the classes were evaluated immediately. This meant
that you couldn't guarantee that a class was evaluated
before you went to use its variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to work. As a result, it involves a lot of integration-level
testing, and a lot of small design changes to make the code
actually work.
In particular, indirections can now have default termini,
so that configurations and facts default to their code terminus
Also, I've removed the ability to manually control whether
ast nodes are used. I might need to add it back in later,
but if so it will be in the form of a global setting,
rather than the previous system of passing it through 10 different
classes. Instead, the parser detects whether there are AST nodes
defined and requires them if so or ignores them if not.
About 75 tests are still failing in the main set of tests,
but it's going to be a long slog to get them working --
there are significant design issues around them, as most of
the failures are a result of tests trying to emulate both the
client and server sides of a connection, which normally would
have different fact termini but in this case must have the same
terminus just because they're in the same process and are global.
The next step, then, is to figure that process out, thus finding a way
to make this all work.
|
|
|
|
| |
tests pass again, dammit.
|
|
|
|
| |
instead of pre-extracting the configuration.
|
|
|
|
| |
again. This is the majority of the work necessary to make the separate "configuration" object work.
|
|
|
|
| |
that has a resource graph including resources for the container objects like classes and nodes. It is apparently functional, but I have not gone through all of the other tests to fix them yet. That is next.
|
|
|
|
| |
mostly just pointing directly to the compile, and I have begun (but commented out) the move to having resources to model each of the classes and nodes, in addition to the definitions. This will, again, enable a real Configuration object, and it will enable class versioning and similar features.
|
|
|
|
| |
switch to git, and refactoring the evaluate_classes method on the compile object so I can use resources as intermediaries, thus making classes do late-binding evaluation.
|
|
|
|
| |
piece to make this complete is to add multiple environment support to the fileserver. I also renamed Configuration.rb to Compile.rb (that is, I fixed all the classes that used to know it as a configuration).
|
|
transitional object and I want the real "configuration" object to be the thing that I pass from the server to the client; it will be a subclass of GRATR::Digraph.
|