Open SpComb opened 7 years ago
Many of the state objects use Object#freeze to enforce immutability for shared (Observable) state, as well as enforcing idempotency for the Policy context.
Object#freeze
Kontena::Registrator::Configuration::State@configs#freeze
Kontena::Registrator::Configuration::State#freeze
Kontena::Registrator::Policy::LoadContext#freeze
Kontena::Registrator::Policy::ApplyContext@config#freeze
Kontena::Registrator::Docker::Container#freeze
Kontena::Registrator::Docker::State@containers#freeze
Kontena::Registrator::Docker::State#freeze
Kontena::Etcd::Model::Collection@objects[...]#freeze
These should have some kind of specs to make sure that they actually work as intended.
The Kontena::Registrator::Policy cases now have specs.
Kontena::Registrator::Policy
Many of the state objects use
Object#freeze
to enforce immutability for shared (Observable) state, as well as enforcing idempotency for the Policy context.Kontena::Registrator::Configuration::State@configs#freeze
Kontena::Registrator::Configuration::State#freeze
Kontena::Registrator::Policy::LoadContext#freeze
(after loading)Kontena::Registrator::Policy::ApplyContext@config#freeze
Kontena::Registrator::Docker::Container#freeze
Kontena::Registrator::Docker::State@containers#freeze
Kontena::Registrator::Docker::State#freeze
Kontena::Etcd::Model::Collection@objects[...]#freeze
These should have some kind of specs to make sure that they actually work as intended.